All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::slice::from_raw_parts_mut
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:9,1
    - Dst: read
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:10,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - size
    - userdata
    argTypes:
    - '*mut u8'
    - usize
    - '*mut std::os::raw::c_void'
    constantsTouched: []
    func_position:
      end: 14
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 14
    functionName: buf_read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
    functionUses: 0
    functionsReached:
    - std::slice::from_raw_parts_mut
    - read
    linkageType: ''
    returnType: isize
    signature: 'extern "C" fn buf_read(buf: *mut u8, size: usize, userdata: *mut std::os::raw::c_void)
      -> isize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:21,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:21,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:23,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:27,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:28,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:33,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:37,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:38,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:42,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:43,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 60
    functionName: test_xhe_aac_codec_detection
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - Some
    - mp4parse_free
    - mp4parse_get_track_count
    - expect
    - Mp4parseTrackInfo::default
    - mp4parse_get_track_info
    - Mp4parseTrackAudioInfo::default
    - mp4parse_new
    - std::ptr::null_mut
    - File::open
    linkageType: ''
    returnType: void
    signature: fn test_xhe_aac_codec_detection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:65,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:65,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:67,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:71,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:72,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:75,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:76,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: test_xhe_aac_vs_regular_aac
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - Some
    - mp4parse_free
    - expect
    - Mp4parseTrackAudioInfo::default
    - mp4parse_new
    - std::ptr::null_mut
    - File::open
    linkageType: ''
    returnType: void
    signature: fn test_xhe_aac_vs_regular_aac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:90,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:90,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:92,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:96,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:97,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:100,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:101,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 120
    functionName: test_xhe_aac_codec_not_unknown
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - Some
    - mp4parse_free
    - expect
    - Mp4parseTrackAudioInfo::default
    - mp4parse_new
    - std::ptr::null_mut
    - File::open
    linkageType: ''
    returnType: void
    signature: fn test_xhe_aac_codec_not_unknown()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:23,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:23,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:25,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:29,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:30,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:35,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:39,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:40,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 63
    functionName: test_afconvert_aac_duration
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs
    functionUses: 0
    functionsReached:
    - Some
    - mp4parse_free
    - mp4parse_get_track_count
    - expect
    - Mp4parseTrackInfo::default
    - mp4parse_get_track_info
    - mp4parse_new
    - std::ptr::null_mut
    - File::open
    linkageType: ''
    returnType: void
    signature: fn test_afconvert_aac_duration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:14,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:14,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:16,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:19,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: open_parser
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - std::fs::File::open
    - Some
    - expect
    - mp4parse_new
    - std::ptr::null_mut
    linkageType: ''
    returnType: '*mut Mp4parseParser'
    signature: 'unsafe fn open_parser(path: &str) -> *mut Mp4parseParser'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_parser
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:30,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:32,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:33,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: video_colr_nclx_hdr10
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    - mp4parse_get_track_video_info
    - open_parser
    linkageType: ''
    returnType: void
    signature: fn video_colr_nclx_hdr10()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_parser
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:52,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:54,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:55,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: video_colr_nclx_hdr10_full_range
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    - mp4parse_get_track_video_info
    - open_parser
    linkageType: ''
    returnType: void
    signature: fn video_colr_nclx_hdr10_full_range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_parser
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:74,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:76,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:77,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 90
    functionName: video_colr_nclx_hlg
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    - mp4parse_get_track_video_info
    - open_parser
    linkageType: ''
    returnType: void
    signature: fn video_colr_nclx_hlg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_parser
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:96,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:98,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:99,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 112
    functionName: video_colr_nclx_hlg_full_range
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    - mp4parse_get_track_video_info
    - open_parser
    linkageType: ''
    returnType: void
    signature: fn video_colr_nclx_hlg_full_range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_parser
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:120,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:122,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:123,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 136
    functionName: video_colr_nclx_rgb_identity_matrix
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    - mp4parse_get_track_video_info
    - open_parser
    linkageType: ''
    returnType: void
    signature: fn video_colr_nclx_rgb_identity_matrix()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_parser
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:142,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:144,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:145,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 158
    functionName: video_no_colr_box
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    - mp4parse_get_track_video_info
    - open_parser
    linkageType: ''
    returnType: void
    signature: fn video_no_colr_box()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:15,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:15,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:17,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:22,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:23,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:28,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:32,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:34,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 40
    functionName: parse_rotation
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs
    functionUses: 0
    functionsReached:
    - std::fs::File::open
    - Some
    - mp4parse_free
    - mp4parse_get_track_video_info
    - mp4parse_get_track_count
    - expect
    - mp4parse_new
    - std::ptr::null_mut
    - Mp4parseTrackVideoInfo::default
    linkageType: ''
    returnType: void
    signature: fn parse_rotation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:15,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:15,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:17,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:22,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:23,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:28,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:32,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:33,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:41,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:42,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:54,1
    - Dst: Mp4parseFragmentInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:58,1
    - Dst: mp4parse_get_fragment_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:59,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 66
    functionName: parse_fragment
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - std::fs::File::open
    - Some
    - mp4parse_is_fragmented
    - mp4parse_get_fragment_info
    - mp4parse_get_track_count
    - expect
    - Mp4parseTrackInfo::default
    - Default::default
    - mp4parse_get_track_info
    - Mp4parseFragmentInfo::default
    - mp4parse_new
    - std::ptr::null_mut
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn parse_fragment()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:70,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:70,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:72,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:77,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:78,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:83,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:87,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:88,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:96,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:97,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:110,1
    - Dst: Mp4parseFragmentInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:114,1
    - Dst: mp4parse_get_fragment_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:115,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 120
    functionName: parse_opus_fragment
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - std::fs::File::open
    - Some
    - mp4parse_is_fragmented
    - mp4parse_get_fragment_info
    - mp4parse_get_track_count
    - expect
    - Mp4parseTrackInfo::default
    - Default::default
    - mp4parse_get_track_info
    - Mp4parseFragmentInfo::default
    - mp4parse_new
    - std::ptr::null_mut
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn parse_opus_fragment()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:15,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:15,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:17,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:22,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:23,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:28,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:38,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:39,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 44
    functionName: parse_out_of_chunk_range
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs
    functionUses: 0
    functionsReached:
    - std::fs::File::open
    - Some
    - mp4parse_get_track_count
    - expect
    - Mp4parseByteData::default
    - mp4parse_get_indice_table
    - mp4parse_new
    - std::ptr::null_mut
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn parse_out_of_chunk_range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:15,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:15,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:17,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:22,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:23,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:29,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:33,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:34,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:38,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:39,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 45
    functionName: parse_invalid_stsc_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs
    functionUses: 0
    functionsReached:
    - std::fs::File::open
    - Some
    - mp4parse_get_track_count
    - expect
    - Mp4parseByteData::default
    - mp4parse_get_indice_table
    - mp4parse_new
    - std::ptr::null_mut
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn parse_invalid_stsc_table()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:17,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:17,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:19,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:24,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:25,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:30,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:34,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:35,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:41,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:45,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:46,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:51,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:52,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:53,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:54,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:55,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:59,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:60,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:61,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:62,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:63,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:71,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:76,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:80,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:81,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:86,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:87,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:88,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:89,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:90,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:94,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:95,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:96,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:97,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:98,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:106,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:107,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:108,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:109,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:110,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:114,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:115,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:116,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:117,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:118,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 138
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 132
    functionName: parse_sample_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
    functionUses: 0
    functionsReached:
    - std::fs::File::open
    - Some
    - mp4parse_is_fragmented
    - mp4parse_get_track_count
    - expect
    - Mp4parseTrackInfo::default
    - into
    - Mp4parseByteData::default
    - mp4parse_get_track_info
    - mp4parse_get_indice_table
    - mp4parse_new
    - std::ptr::null_mut
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn parse_sample_table()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file_and_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:217,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:220,1
    - Dst: mp4parse_avif_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:222,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:232,1
    - Dst: mp4parse_avif_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:234,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:245,1
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:247,1
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:248,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 253
    functionName: repeated_get_indice_table_returns_stable_pointer
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - assert_slice_pointer_is_readable
    - std::slice::from_raw_parts
    - mp4parse_avif_get_indice_table
    - parse_file_and_get_info
    - Mp4parseByteData::default
    - mp4parse_avif_free
    linkageType: ''
    returnType: void
    signature: fn repeated_get_indice_table_returns_stable_pointer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:187,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:187,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:189,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:194,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:195,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:200,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:204,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:205,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:211,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:215,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:216,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:223,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:224,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:225,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:226,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:227,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:231,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:232,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:233,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:234,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:235,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:239,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:240,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:241,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:242,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:243,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 253
    functionName: parse_sample_table_with_elst
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
    functionUses: 0
    functionsReached:
    - std::fs::File::open
    - Some
    - mp4parse_is_fragmented
    - mp4parse_get_track_count
    - expect
    - Mp4parseTrackInfo::default
    - into
    - Mp4parseByteData::default
    - mp4parse_get_track_info
    - mp4parse_get_indice_table
    - mp4parse_new
    - std::ptr::null_mut
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn parse_sample_table_with_elst()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:257,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:257,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:259,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:264,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:265,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:270,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:274,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:275,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:280,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:284,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:285,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:290,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:291,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:292,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:293,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:294,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:298,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:299,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:300,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:301,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:302,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:306,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:307,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:308,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:309,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:310,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:314,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:315,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:316,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:317,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:318,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 329
    functionName: parse_sample_table_with_negative_ctts
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
    functionUses: 0
    functionsReached:
    - std::fs::File::open
    - Some
    - mp4parse_is_fragmented
    - mp4parse_get_track_count
    - expect
    - Mp4parseTrackInfo::default
    - into
    - Mp4parseByteData::default
    - mp4parse_get_track_info
    - mp4parse_get_indice_table
    - mp4parse_new
    - std::ptr::null_mut
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn parse_sample_table_with_negative_ctts()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:15,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:15,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:17,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:22,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:23,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:27,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:32,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:33,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:38,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:39,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:44,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:45,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:67,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:67,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:76,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:77,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:96,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 104
    functionName: parse_cenc
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - std::fs::File::open
    - Some
    - enumerate
    - mp4parse_get_track_video_info
    - mp4parse_get_track_count
    - expect
    - Mp4parseTrackInfo::default
    - iter
    - mp4parse_get_track_info
    - Mp4parseTrackAudioInfo::default
    - mp4parse_new
    - std::ptr::null_mut
    - Mp4parseTrackVideoInfo::default
    linkageType: ''
    returnType: void
    signature: fn parse_cenc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:108,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:108,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:110,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:115,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:116,1
    - Dst: Mp4parsePsshInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:120,1
    - Dst: mp4parse_get_pssh_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:121,1
    - Dst: Mp4parsePsshInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:129,1
    - Dst: mp4parse_get_pssh_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:130,1
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:141,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 146
    functionName: repeated_get_pssh_info_returns_stable_pointer
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - std::fs::File::open
    - Some
    - mp4parse_get_pssh_info
    - expect
    - std::slice::from_raw_parts
    - Mp4parsePsshInfo::default
    - mp4parse_new
    - std::ptr::null_mut
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn repeated_get_pssh_info_returns_stable_pointer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:150,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:150,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:152,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:157,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:158,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:162,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:167,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:168,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:173,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:174,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:196,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:196,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:206,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 210
    functionName: parse_cbcs
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - std::fs::File::open
    - Some
    - enumerate
    - mp4parse_get_track_video_info
    - mp4parse_get_track_count
    - expect
    - Mp4parseTrackInfo::default
    - iter
    - mp4parse_get_track_info
    - mp4parse_new
    - std::ptr::null_mut
    - Mp4parseTrackVideoInfo::default
    linkageType: ''
    returnType: void
    signature: fn parse_cbcs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:216,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:216,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:218,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:223,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:224,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:229,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:233,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:234,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:238,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 257
    functionName: parse_unencrypted
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - std::fs::File::open
    - Some
    - mp4parse_get_track_count
    - expect
    - Mp4parseTrackInfo::default
    - mp4parse_get_track_info
    - Mp4parseTrackAudioInfo::default
    - mp4parse_new
    - std::ptr::null_mut
    linkageType: ''
    returnType: void
    signature: fn parse_unencrypted()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:269,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:269,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:271,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:276,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:277,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:281,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:286,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:287,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:292,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:293,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:307,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:307,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:327,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:327,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:337,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 341
    functionName: parse_encrypted_av1
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - std::fs::File::open
    - Some
    - enumerate
    - mp4parse_get_track_video_info
    - mp4parse_get_track_count
    - expect
    - Mp4parseTrackInfo::default
    - iter
    - mp4parse_get_track_info
    - mp4parse_new
    - std::ptr::null_mut
    - Mp4parseTrackVideoInfo::default
    linkageType: ''
    returnType: void
    signature: fn parse_encrypted_av1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:17,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:18,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:19,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:20,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:21,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:22,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:24,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:25,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:26,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:27,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:28,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:29,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:30,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:31,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:32,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:33,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:34,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:35,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 38
    functionName: default_avif_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - std::ptr::null
    - Default::default
    linkageType: ''
    returnType: Mp4parseAvifInfo
    signature: fn default_avif_info() -> Mp4parseAvifInfo
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:42,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: default_avif_image
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: Mp4parseAvifImage
    signature: fn default_avif_image() -> Mp4parseAvifImage
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:48,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:48,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:50,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:54,1
    - Dst: mp4parse_avif_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: parse_file
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - std::fs::File::open
    - Some
    - mp4parse_avif_new
    - expect
    - std::ptr::null_mut
    linkageType: ''
    returnType: '*mut Mp4parseAvifParser'
    signature: 'unsafe fn parse_file(path: &str) -> *mut Mp4parseAvifParser'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:63,1
    - Dst: default_avif_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:64,1
    - Dst: mp4parse_avif_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: parse_file_and_get_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 1
    functionsReached:
    - default_avif_info
    - parse_file
    - mp4parse_avif_get_info
    linkageType: ''
    returnType: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)
    signature: 'unsafe fn parse_file_and_get_info(path: &str) -> (*mut Mp4parseAvifParser,
      Mp4parseAvifInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - '*const T'
    - usize
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: assert_slice_pointer_is_readable
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 1
    functionsReached:
    - std::slice::from_raw_parts
    linkageType: ''
    returnType: void
    signature: 'unsafe fn assert_slice_pointer_is_readable<T>(ptr: *const T, len:
      usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file_and_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:76,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - path
    - expected_loop_count
    argTypes:
    - '&str'
    - i64
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: check_loop_count
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - parse_file_and_get_info
    - mp4parse_avif_free
    linkageType: ''
    returnType: void
    signature: 'fn check_loop_count(path: &str, expected_loop_count: i64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file_and_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:89,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:91,1
    - Dst: mp4parse_avif_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:94,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - path
    - expected_timescale
    argTypes:
    - '&str'
    - u64
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: check_timescale
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - parse_file_and_get_info
    - Mp4parseByteData::default
    - mp4parse_avif_get_indice_table
    - mp4parse_avif_free
    linkageType: ''
    returnType: void
    signature: 'fn check_timescale(path: &str, expected_timescale: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_loop_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: loop_once
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - check_loop_count
    linkageType: ''
    returnType: void
    signature: fn loop_once()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_loop_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: loop_twice
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - check_loop_count
    linkageType: ''
    returnType: void
    signature: fn loop_twice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_loop_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: loop_four_times_due_to_ceiling
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - check_loop_count
    linkageType: ''
    returnType: void
    signature: fn loop_four_times_due_to_ceiling()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_loop_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: loop_forever
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - check_loop_count
    linkageType: ''
    returnType: void
    signature: fn loop_forever()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_loop_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: no_edts
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - check_loop_count
    linkageType: ''
    returnType: void
    signature: fn no_edts()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_timescale
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:130,1
    - Dst: check_timescale
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:131,1
    - Dst: check_timescale
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:132,1
    - Dst: check_timescale
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:133,1
    - Dst: check_timescale
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: check_timescales
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - check_timescale
    linkageType: ''
    returnType: void
    signature: fn check_timescales()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file_and_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:139,1
    - Dst: default_avif_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:142,1
    - Dst: mp4parse_avif_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:143,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:148,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:151,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:152,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:166,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:173,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:174,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:178,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:179,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 184
    functionName: repeated_get_info_returns_stable_pointers
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - assert_slice_pointer_is_readable
    - parse_file_and_get_info
    - default_avif_info
    - mp4parse_avif_get_info
    - is_null
    - mp4parse_avif_free
    linkageType: ''
    returnType: void
    signature: fn repeated_get_info_returns_stable_pointers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:188,1
    - Dst: default_avif_image
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:191,1
    - Dst: mp4parse_avif_get_image
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:192,1
    - Dst: default_avif_image
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:199,1
    - Dst: mp4parse_avif_get_image
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:200,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:208,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:209,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 213
    functionName: repeated_get_image_returns_stable_pointers
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - default_avif_image
    - assert_slice_pointer_is_readable
    - mp4parse_avif_get_image
    - parse_file
    - mp4parse_avif_free
    linkageType: ''
    returnType: void
    signature: fn repeated_get_image_returns_stable_pointers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file_and_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:257,1
    - Dst: default_avif_image
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:260,1
    - Dst: mp4parse_avif_get_image
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:261,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 275
    functionName: empty_avif_byte_slices_use_null_pointers
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - default_avif_image
    - parse_file_and_get_info
    - mp4parse_avif_get_image
    - mp4parse_avif_free
    linkageType: ''
    returnType: void
    signature: fn empty_avif_byte_slices_use_null_pointers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''a [u8]::len'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:149,1
    - Dst: '&''a [u8]::is_empty'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:150,1
    - Dst: '&''a [u8]::as_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:151,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:153,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - slice
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: Mp4parseByteData::with_data
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&''a [u8]::len'
    - std::ptr::null
    - '&''a [u8]::is_empty'
    - '&''a [u8]::as_ptr'
    linkageType: ''
    returnType: Self
    signature: 'fn with_data(slice: &[u8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:164,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: Mp4parseByteData::default
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 7
    functionsReached:
    - std::ptr::null
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:179,1
    - Dst: Self::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:180,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:181,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: Mp4parseByteData::set_data
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::ptr::null
    - Self::len
    - Self::is_empty
    - Self::as_ptr
    linkageType: ''
    returnType: void
    signature: 'fn set_data(&mut self, data: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:190,1
    - Dst: Self::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:191,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:192,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[Indice]'
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: Mp4parseByteData::set_indices
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::ptr::null
    - Self::len
    - Self::is_empty
    - Self::as_ptr
    linkageType: ''
    returnType: void
    signature: 'fn set_indices(&mut self, data: &[Indice])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: Mp4parseTrackAudioInfo::default
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 5
    functionsReached:
    - std::ptr::null
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: Mp4parseTrackVideoInfo::default
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 10
    functionsReached:
    - std::ptr::null
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: Mp4parseParser::context
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&MediaContext'
    signature: fn context(&self) -> &MediaContext
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: Mp4parseParser::context_mut
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut MediaContext'
    signature: fn context_mut(&mut self) -> &mut MediaContext
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - Self::Context
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 469
    functionName: Mp4parseParser::with_context
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: Self
    signature: 'fn with_context(context: Self::Context) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp4parse::read_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - io
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: Mp4parseParser::read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse::read_mp4
    linkageType: ''
    returnType: mp4parse::Result
    signature: 'fn read<T: Read>(io: &mut T, strictness: ParseStrictness) -> mp4parse::Result<Self::Context>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryHashMap::insert
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:493,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - K
    - V
    constantsTouched: []
    func_position:
      end: 499
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 499
    functionName: TryHashMap::insert_cache_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - TryHashMap::insert
    linkageType: ''
    returnType: Result
    signature: 'fn insert_cache_entry(&mut self, key: K, value: V) -> Result<(), TryReserveError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: Mp4parseAvifParser::context
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&AvifContext'
    signature: fn context(&self) -> &AvifContext
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - Self::Context
    constantsTouched: []
    func_position:
      end: 516
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 516
    functionName: Mp4parseAvifParser::with_context
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: Self
    signature: 'fn with_context(context: Self::Context) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp4parse::read_avif
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:519,1
    - Dst: '*mut Mp4parseParser::is_err'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - io
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 525
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 525
    functionName: Mp4parseAvifParser::read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse::read_avif
    - '*mut Mp4parseParser::is_err'
    linkageType: ''
    returnType: mp4parse::Result
    signature: 'fn read<T: Read>(io: &mut T, strictness: ParseStrictness) -> mp4parse::Result<Self::Context>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:539,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:540,1
    - Dst: std::io::Error::other
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:540,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:544,1
    - Dst: Result::as_mut_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:544,1
    - Dst: Result::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:544,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:546,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:548,1
    - Dst: std::io::Error::other
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 550
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 550
    functionName: Mp4parseIo::read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Result::as_mut_ptr
    - Err
    - std::io::Error::other
    - Ok
    - Result::len
    - unwrap
    linkageType: ''
    returnType: std::io::Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp4parse_new_common
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - io
    - parser_out
    argTypes:
    - '*const Mp4parseIo'
    - '*mut *mut Mp4parseParser'
    constantsTouched: []
    func_position:
      end: 578
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 578
    functionName: mp4parse_new
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 18
    functionsReached:
    - mp4parse_new_common
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_new(io: *const Mp4parseIo,parser_out:
      *mut *mut Mp4parseParser,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp4parse_new_common
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - io
    - strictness
    - parser_out
    argTypes:
    - '*const Mp4parseIo'
    - ParseStrictness
    - '*mut *mut Mp4parseAvifParser'
    constantsTouched: []
    func_position:
      end: 596
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 596
    functionName: mp4parse_avif_new
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - mp4parse_new_common
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_avif_new(io: *const Mp4parseIo,strictness:
      ParseStrictness,parser_out: *mut *mut Mp4parseAvifParser,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*const Mp4parseIo::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:604,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:605,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:606,1
    - Dst: '*mut *mut P::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:607,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:608,1
    - Dst: mp4parse_new_common_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:612,1
    - Dst: clone
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - io
    - strictness
    - parser_out
    argTypes:
    - '*const Mp4parseIo'
    - ParseStrictness
    - '*mut *mut P'
    constantsTouched: []
    func_position:
      end: 620
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 620
    functionName: mp4parse_new_common
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - is_none
    - '*const Mp4parseIo::is_null'
    - clone
    - mp4parse_new_common_safe
    - is_null
    - '*mut *mut P::is_null'
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'unsafe fn mp4parse_new_common<P: ContextParser>(io: *const Mp4parseIo,strictness:
      ParseStrictness,parser_out: *mut *mut P,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: P::read
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:626,1
    - Dst: isize::map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:626,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:626,1
    - Dst: TryBox::try_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:628,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:628,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:626,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - io
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 631
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 631
    functionName: mp4parse_new_common_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - isize::map
    - map
    - TryBox::try_new
    - P::read
    - and_then
    - map_err
    linkageType: ''
    returnType: Result
    signature: 'fn mp4parse_new_common_safe<T: Read, P: ContextParser>(io: &mut T,strictness:
      ParseStrictness,) -> Result<*mut P, Mp4parseStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryBox::from_raw
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - '*mut Mp4parseParser'
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 644
    functionName: mp4parse_free
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 19
    functionsReached:
    - TryBox::from_raw
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn mp4parse_free(parser: *mut Mp4parseParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryBox::from_raw
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - '*mut Mp4parseAvifParser'
    constantsTouched: []
    func_position:
      end: 657
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 657
    functionName: mp4parse_avif_free
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 6
    functionsReached:
    - TryBox::from_raw
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn mp4parse_avif_free(parser: *mut Mp4parseAvifParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:673,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:673,1
    - Dst: context
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:676,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:679,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - parser
    - count
    argTypes:
    - '*const Mp4parseParser'
    - '*mut u32'
    constantsTouched: []
    func_position:
      end: 684
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 684
    functionName: mp4parse_get_track_count
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 14
    functionsReached:
    - context
    - is_null
    - '*mut Mp4parseParser::is_null'
    - len
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_track_count(parser: *const Mp4parseParser,count:
      *mut u32,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:700,1
    - Dst: Mp4parseAvifInfo::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:700,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:705,1
    - Dst: context_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:707,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:711,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:728,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:730,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:730,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:735,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:735,1
    - Dst: mp4parse::unstable::rational_scale
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:736,1
    - Dst: mp4parse::unstable::CheckedInteger
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:738,1
    - Dst: mp4parse::unstable::rational_scale
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:752,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 104
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseTrackInfo'
    constantsTouched: []
    func_position:
      end: 774
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 774
    functionName: mp4parse_get_track_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 11
    functionsReached:
    - Some
    - len
    - context_mut
    - Default::default
    - into
    - Mp4parseAvifInfo::is_null
    - '*mut Mp4parseParser::is_null'
    - mp4parse::unstable::rational_scale
    - mp4parse::unstable::CheckedInteger
    - map_or
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_track_info(parser: *mut Mp4parseParser,track_index:
      u32,info: *mut Mp4parseTrackInfo,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:790,1
    - Dst: Mp4parseAvifInfo::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:790,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:795,1
    - Dst: get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:797,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseTrackAudioInfo'
    constantsTouched: []
    func_position:
      end: 798
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 798
    functionName: mp4parse_get_track_audio_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 7
    functionsReached:
    - Default::default
    - get_track_audio_info
    - Mp4parseAvifInfo::is_null
    - '*mut Mp4parseParser::is_null'
    - Result::into
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_track_audio_info(parser: *mut
      Mp4parseParser,track_index: u32,info: *mut Mp4parseTrackAudioInfo,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:805,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:806,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:807,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:808,1
    - Dst: as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:810,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:812,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:821,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:822,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:828,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:834,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:837,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:838,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:841,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:841,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:842,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:842,1
    - Dst: Mp4parseTrackAudioSampleInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:843,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:846,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:885,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:886,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:888,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:889,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:909,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:910,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:912,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:915,1
    - Dst: mp4parse::serialize_opus_header
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:916,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:918,1
    - Dst: insert_cache_entry
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:921,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:922,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:923,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:924,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:926,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:932,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:939,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:939,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:942,1
    - Dst: OptionalFourCc::Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:945,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:948,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:962,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:964,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:966,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:968,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:969,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:971,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:975,1
    - Dst: insert_cache_entry
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:978,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:981,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:983,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:986,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:988,1
    - Dst: Self::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:989,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:990,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:992,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:995,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:998,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 338
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '&mut Mp4parseParser'
    - u32
    - '&mut Mp4parseTrackAudioInfo'
    constantsTouched: []
    func_position:
      end: 999
      start: 800
    functionDepth: 5
    functionLinenumber: 800
    functionLinenumberEnd: 999
    functionName: get_track_audio_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 8
    functionsReached:
    - len
    - set_data
    - Ok
    - as_ref
    - as_ptr
    - insert_cache_entry
    - Mp4parseTrackAudioSampleInfo::default
    - enumerate
    - push
    - Err
    - find
    - TryVec::new
    - is_some
    - Self::len
    - iter
    - TryVec::with_capacity
    - mp4parse::serialize_opus_header
    - Self::as_ptr
    - is_empty
    - OptionalFourCc::Some
    - unwrap_or
    - get
    - std::ptr::null
    - Self::is_empty
    linkageType: ''
    returnType: Result
    signature: 'fn get_track_audio_info(parser: &mut Mp4parseParser,track_index: u32,info:
      &mut Mp4parseTrackAudioInfo,) -> Result<(), Mp4parseStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1015,1
    - Dst: Mp4parseAvifInfo::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1015,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1020,1
    - Dst: mp4parse_get_track_video_info_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1022,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1022,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseTrackVideoInfo'
    constantsTouched: []
    func_position:
      end: 1023
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1023
    functionName: mp4parse_get_track_video_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 10
    functionsReached:
    - mp4parse_get_track_video_info_safe
    - Default::default
    - Mp4parseAvifInfo::is_null
    - '*mut Mp4parseParser::is_null'
    - Result::into
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_track_video_info(parser: *mut
      Mp4parseParser,track_index: u32,info: *mut Mp4parseTrackVideoInfo,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::context'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1030,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1032,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1033,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1039,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1059,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1063,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1072,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1073,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1074,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1075,1
    - Dst: as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1077,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1079,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1085,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1088,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1089,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1092,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1092,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1093,1
    - Dst: Mp4parseTrackVideoSampleInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1094,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1097,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1121,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1126,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1131,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1131,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1134,1
    - Dst: OptionalFourCc::Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1137,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1140,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1154,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1156,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1158,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1160,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1161,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1163,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1193,1
    - Dst: insert_cache_entry
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1196,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1199,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1201,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1204,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1206,1
    - Dst: Self::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1207,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1208,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1210,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1213,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1215,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 324
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '&mut Mp4parseParser'
    - u32
    - '&mut Mp4parseTrackVideoInfo'
    constantsTouched: []
    func_position:
      end: 1216
      start: 1025
    functionDepth: 2
    functionLinenumber: 1025
    functionLinenumberEnd: 1216
    functionName: mp4parse_get_track_video_info_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - len
    - '*mut Mp4parseParser::context'
    - set_data
    - Ok
    - as_ref
    - as_ptr
    - insert_cache_entry
    - Mp4parseTrackVideoSampleInfo::default
    - push
    - Err
    - find
    - is_some
    - Self::len
    - iter
    - TryVec::with_capacity
    - Self::as_ptr
    - is_empty
    - OptionalFourCc::Some
    - unwrap_or
    - get
    - std::ptr::null
    - Self::is_empty
    linkageType: ''
    returnType: Result
    signature: 'fn mp4parse_get_track_video_info_safe(parser: &mut Mp4parseParser,track_index:
      u32,info: &mut Mp4parseTrackVideoInfo,) -> Result<(), Mp4parseStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1235,1
    - Dst: Mp4parseAvifInfo::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1235,1
    - Dst: mp4parse_avif_get_info_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1239,1
    - Dst: context
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - parser
    - avif_info
    argTypes:
    - '*const Mp4parseAvifParser'
    - '*mut Mp4parseAvifInfo'
    constantsTouched: []
    func_position:
      end: 1245
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1245
    functionName: mp4parse_avif_get_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - Mp4parseAvifInfo::is_null
    - context
    - '*mut Mp4parseParser::is_null'
    - mp4parse_avif_get_info_safe
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_avif_get_info(parser: *const Mp4parseAvifParser,avif_info:
      *mut Mp4parseAvifInfo,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1278,1
    - Dst: Self::iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1278,1
    - Dst: SampleToChunkIterator::all
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1283
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1283
    functionName: m::p::4::p::a::r::s::e::_::a::v::i::f::_::g::e::t::_::i::n::f::o::_::s::a::f::e::get_bit_depth
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::iter
    - SampleToChunkIterator::all
    - Self::is_empty
    linkageType: ''
    returnType: u8
    signature: 'fn get_bit_depth(data: &[u8]) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_bitfield
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1251,1
    - Dst: '&MediaContext::spatial_extents_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1252,1
    - Dst: '&MediaContext::nclx_colour_information_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1253,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1253,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1255,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1255,1
    - Dst: Mp4parseByteData::with_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1256,1
    - Dst: '&MediaContext::icc_colour_information'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1257,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1257,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1257,1
    - Dst: '&MediaContext::image_rotation'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1259,1
    - Dst: '&MediaContext::image_mirror_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1260,1
    - Dst: '&MediaContext::pixel_aspect_ratio_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1261,1
    - Dst: '&MediaContext::primary_item_is_present'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1263,1
    - Dst: '&MediaContext::alpha_item_is_present'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1265,1
    - Dst: get_bit_depth
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1285,1
    - Dst: '&MediaContext::primary_item_bits_per_channel'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1285,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1285,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1285,1
    - Dst: get_bit_depth
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1287,1
    - Dst: '&MediaContext::alpha_item_bits_per_channel'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1287,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1287,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1287,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1295,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1295,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1296,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1301,1
    - Dst: pred
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1304,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1307,1
    - Dst: any
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1307,1
    - Dst: get_track
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1315,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1317,1
    - Dst: get_track
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1321,1
    - Dst: Result::has_auxl_reference
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1322,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1322,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1331,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1340,1
    - Dst: get_av1c
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1341,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1343,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1348,1
    - Dst: get_av1c
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1349,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1351,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1357,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1357,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1362,1
    - Dst: checked_div
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1364,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1364,1
    - Dst: checked_rem
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1365,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1366,1
    - Dst: saturating_sub
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1366,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1367,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1383,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1397,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 212
    argCount: 1
    argNames:
    - context
    argTypes:
    - '&AvifContext'
    constantsTouched: []
    func_position:
      end: 1398
      start: 1247
    functionDepth: 2
    functionLinenumber: 1247
    functionLinenumberEnd: 1398
    functionName: mp4parse_avif_get_info_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - get_track
    - '&MediaContext::nclx_colour_information_ptr'
    - '&MediaContext::icc_colour_information'
    - Ok
    - as_ref
    - and_then
    - Some
    - find
    - pred
    - '&MediaContext::alpha_item_is_present'
    - iter
    - '&MediaContext::image_mirror_ptr'
    - Option::unwrap_or
    - unwrap
    - '&MediaContext::image_rotation'
    - into_bitfield
    - '&MediaContext::primary_item_is_present'
    - get_av1c
    - is_empty
    - checked_div
    - checked_rem
    - '&MediaContext::primary_item_bits_per_channel'
    - std::ptr::null
    - Mp4parseByteData::with_data
    - '&MediaContext::alpha_item_bits_per_channel'
    - '&MediaContext::spatial_extents_ptr'
    - is_none
    - get_bit_depth
    - Result::has_auxl_reference
    - saturating_sub
    - '&MediaContext::pixel_aspect_ratio_ptr'
    - any
    - map
    linkageType: ''
    returnType: mp4parse::Result
    signature: 'fn mp4parse_avif_get_info_safe(context: &AvifContext) -> mp4parse::Result<Mp4parseAvifInfo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1417,1
    - Dst: Mp4parseAvifImage::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1417,1
    - Dst: mp4parse_avif_get_image_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - parser
    - avif_image
    argTypes:
    - '*const Mp4parseAvifParser'
    - '*mut Mp4parseAvifImage'
    constantsTouched: []
    func_position:
      end: 1427
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1427
    functionName: mp4parse_avif_get_image
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - Mp4parseAvifImage::is_null
    - mp4parse_avif_get_image_safe
    - '*mut Mp4parseParser::is_null'
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_avif_get_image(parser: *const Mp4parseAvifParser,avif_image:
      *mut Mp4parseAvifImage,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::context'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1432,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1433,1
    - Dst: Mp4parseByteData::with_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1434,1
    - Dst: '&MediaContext::primary_item_coded_data'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1435,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1435,1
    - Dst: Mp4parseByteData::with_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1437,1
    - Dst: '&MediaContext::alpha_item_coded_data'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1437,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - parser
    argTypes:
    - '&Mp4parseAvifParser'
    constantsTouched: []
    func_position:
      end: 1439
      start: 1429
    functionDepth: 2
    functionLinenumber: 1429
    functionLinenumberEnd: 1439
    functionName: mp4parse_avif_get_image_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&MediaContext::alpha_item_coded_data'
    - Mp4parseByteData::with_data
    - '*mut Mp4parseParser::context'
    - '&MediaContext::primary_item_coded_data'
    - Ok
    - Option::unwrap_or
    linkageType: ''
    returnType: mp4parse::Result
    signature: 'pub fn mp4parse_avif_get_image_safe(parser: &Mp4parseAvifParser,)
      -> mp4parse::Result<Mp4parseAvifImage>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1455,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1460,1
    - Dst: get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1462,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - parser
    - track_id
    - indices
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseByteData'
    constantsTouched: []
    func_position:
      end: 1469
      start: 1450
    functionDepth: 1
    functionLinenumber: 1450
    functionLinenumberEnd: 1469
    functionName: mp4parse_get_indice_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 5
    functionsReached:
    - get_indice_table
    - Default::default
    - Result::into
    - '*mut Mp4parseParser::is_null'
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_indice_table(parser: *mut Mp4parseParser,track_id:
      u32,indices: *mut Mp4parseByteData,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1486,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1490,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1494,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1499,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1508,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1508,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1511,1
    - Dst: get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1523,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1523,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 73
    argCount: 4
    argNames:
    - parser
    - track_id
    - indices
    - timescale
    argTypes:
    - '*mut Mp4parseAvifParser'
    - u32
    - '*mut Mp4parseByteData'
    - '*mut u64'
    constantsTouched: []
    func_position:
      end: 1533
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1533
    functionName: mp4parse_avif_get_indice_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - Some
    - find
    - Default::default
    - get_indice_table
    - '*mut Mp4parseParser::is_null'
    - iter
    - is_null
    - Result::into
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_avif_get_indice_table(parser: *mut
      Mp4parseAvifParser,track_id: u32,indices: *mut Mp4parseByteData,timescale: *mut
      u64,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1542,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1542,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1542,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1544,1
    - Dst: '&mut TryHashMap<u32, TryVec<Indice>>::get'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1547,1
    - Dst: set_indices
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1548,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1549,1
    - Dst: i64::try_from
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1553,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1553,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1553,1
    - Dst: i64::try_from
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1558,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1558,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1558,1
    - Dst: ok_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1566,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1566,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1569,1
    - Dst: mp4parse::unstable::create_sample_table
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1572,1
    - Dst: set_indices
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1573,1
    - Dst: '&mut TryHashMap<u32, TryVec<Indice>>::insert_cache_entry'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1574,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1575,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1578,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 69
    argCount: 4
    argNames:
    - context
    - sample_table_cache
    - track_id
    - indices
    argTypes:
    - '&MediaContext'
    - '&mut TryHashMap<u32, TryVec<Indice>>'
    - u32
    - '&mut Mp4parseByteData'
    constantsTouched: []
    func_position:
      end: 1579
      start: 1535
    functionDepth: 2
    functionLinenumber: 1535
    functionLinenumberEnd: 1579
    functionName: get_indice_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 9
    functionsReached:
    - Some
    - Err
    - find
    - map
    - '&mut TryHashMap<u32, TryVec<Indice>>::get'
    - '&mut TryHashMap<u32, TryVec<Indice>>::insert_cache_entry'
    - Result::ok
    - ok_or
    - into
    - set_indices
    - Ok
    - iter
    - i64::try_from
    - mp4parse::unstable::create_sample_table
    linkageType: ''
    returnType: Result
    signature: 'fn get_indice_table(context: &MediaContext,sample_table_cache: &mut
      TryHashMap<u32, TryVec<Indice>>,track_id: u32,indices: &mut Mp4parseByteData,)
      -> Result<(), Mp4parseStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1594,1
    - Dst: Mp4parseAvifInfo::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1594,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1599,1
    - Dst: context
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1601,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 2
    argNames:
    - parser
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - '*mut Mp4parseFragmentInfo'
    constantsTouched: []
    func_position:
      end: 1617
      start: 1590
    functionDepth: 1
    functionLinenumber: 1590
    functionLinenumberEnd: 1617
    functionName: mp4parse_get_fragment_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - Mp4parseAvifInfo::is_null
    - context
    - Default::default
    - '*mut Mp4parseParser::is_null'
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_fragment_info(parser: *mut Mp4parseParser,info:
      *mut Mp4parseFragmentInfo,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1634,1
    - Dst: context_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1638,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1642,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1647,1
    - Dst: SampleToChunkIterator::find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1648,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1648,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1648,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1652,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1653,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1654,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 3
    argNames:
    - parser
    - track_id
    - fragmented
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut u8'
    constantsTouched: []
    func_position:
      end: 1662
      start: 1629
    functionDepth: 1
    functionLinenumber: 1629
    functionLinenumberEnd: 1662
    functionName: mp4parse_is_fragmented
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 5
    functionsReached:
    - Some
    - context_mut
    - SampleToChunkIterator::find
    - is_empty
    - is_none
    - '*mut Mp4parseParser::is_null'
    - iter
    - map_or
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_is_fragmented(parser: *mut Mp4parseParser,track_id:
      u32,fragmented: *mut u8,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1683,1
    - Dst: Mp4parseAvifInfo::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1683,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1688,1
    - Dst: get_pssh_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1690,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - parser
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - '*mut Mp4parsePsshInfo'
    constantsTouched: []
    func_position:
      end: 1691
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1691
    functionName: mp4parse_get_pssh_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - get_pssh_info
    - Default::default
    - Mp4parseAvifInfo::is_null
    - '*mut Mp4parseParser::is_null'
    - Result::into
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_pssh_info(parser: *mut Mp4parseParser,info:
      *mut Mp4parsePsshInfo,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1701,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1702,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1704,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1704,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1704,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1709,1
    - Dst: write_u32::<byteorder::NativeEndian>
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1710,1
    - Dst: Mp4parseStatus::extend_from_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1711,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1711,1
    - Dst: Mp4parseStatus::extend_from_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1712,1
    - Dst: Mp4parseStatus::as_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1712,1
    - Dst: Mp4parseStatus::extend_from_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1713,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1713,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1715,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1719,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1720,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1723,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 2
    argNames:
    - parser
    - info
    argTypes:
    - '&mut Mp4parseParser'
    - '&mut Mp4parsePsshInfo'
    constantsTouched: []
    func_position:
      end: 1724
      start: 1693
    functionDepth: 5
    functionLinenumber: 1693
    functionLinenumberEnd: 1724
    functionName: get_pssh_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - Some
    - len
    - TryVec::new
    - is_none
    - Default::default
    - try_into
    - set_data
    - as_slice
    - Ok
    - Mp4parseStatus::extend_from_slice
    - write_u32::<byteorder::NativeEndian>
    - map_err
    - Mp4parseStatus::as_slice
    linkageType: ''
    returnType: Result
    signature: 'fn get_pssh_info(parser: &mut Mp4parseParser,info: &mut Mp4parsePsshInfo,)
      -> Result<(), Mp4parseStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames: []
    argTypes:
    - '*mut u8'
    - usize
    - '*mut std::os::raw::c_void'
    constantsTouched: []
    func_position:
      end: 1729
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1729
    functionName: error_read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isize
    signature: 'extern "C" fn error_read(_: *mut u8, _: usize, _: *mut std::os::raw::c_void)
      -> isize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::slice::from_raw_parts_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1735,1
    - Dst: read
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - size
    - userdata
    argTypes:
    - '*mut u8'
    - usize
    - '*mut std::os::raw::c_void'
    constantsTouched: []
    func_position:
      end: 1740
      start: 1732
    functionDepth: 2
    functionLinenumber: 1732
    functionLinenumberEnd: 1740
    functionName: valid_read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::slice::from_raw_parts_mut
    - read
    linkageType: ''
    returnType: isize
    signature: 'extern "C" fn valid_read(buf: *mut u8, size: usize, userdata: *mut
      std::os::raw::c_void) -> isize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1746,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1746,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1746,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1748,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1743
    functionDepth: 2
    functionLinenumber: 1743
    functionLinenumberEnd: 1751
    functionName: get_track_count_null_parser
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::ptr::null
    - std::ptr::null_mut
    - mp4parse_get_track_count
    linkageType: ''
    returnType: void
    signature: fn get_track_count_null_parser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1756,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1756,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1756,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1760,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1761,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1761,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1765,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1772,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1773,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1782,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1783,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1789,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1796,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1754
    functionDepth: 5
    functionLinenumber: 1754
    functionLinenumberEnd: 1808
    functionName: arg_validation
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - std::ptr::null_mut
    - std::ptr::null
    - Default::default
    linkageType: ''
    returnType: void
    signature: fn arg_validation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1814,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1811
    functionDepth: 5
    functionLinenumber: 1811
    functionLinenumberEnd: 1820
    functionName: parser_input_must_be_null
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - Some
    linkageType: ''
    returnType: void
    signature: fn parser_input_must_be_null()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1827,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1830,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1831,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1851,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1858,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1823
    functionDepth: 5
    functionLinenumber: 1823
    functionLinenumberEnd: 1870
    functionName: arg_validation_with_parser
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::ptr::null_mut
    - Some
    - Default::default
    - mp4parse_new
    linkageType: ''
    returnType: void
    signature: fn arg_validation_with_parser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1874,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1874,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1876,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1879,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1873
    functionDepth: 5
    functionLinenumber: 1873
    functionLinenumberEnd: 1883
    functionName: parse_minimal_mp4
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::fs::File::open
    - Some
    - mp4parse_new
    - std::ptr::null_mut
    - unwrap
    linkageType: ''
    returnType: '*mut Mp4parseParser'
    signature: fn parse_minimal_mp4() -> *mut Mp4parseParser
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1887,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1886
    functionDepth: 6
    functionLinenumber: 1886
    functionLinenumberEnd: 1894
    functionName: minimal_mp4_parse_ok
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_free
    - parse_minimal_mp4
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_parse_ok()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1898,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1897
    functionDepth: 6
    functionLinenumber: 1897
    functionLinenumberEnd: 1909
    functionName: minimal_mp4_get_track_cout
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_free
    - parse_minimal_mp4
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_get_track_cout()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1913,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1917,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1912
    functionDepth: 6
    functionLinenumber: 1912
    functionLinenumberEnd: 1939
    functionName: minimal_mp4_get_track_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_free
    - Default::default
    - parse_minimal_mp4
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_get_track_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1943,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1945,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1942
    functionDepth: 6
    functionLinenumber: 1942
    functionLinenumberEnd: 1961
    functionName: minimal_mp4_get_track_video_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    - parse_minimal_mp4
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_get_track_video_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1965,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1967,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1964
    functionDepth: 6
    functionLinenumber: 1964
    functionLinenumberEnd: 1982
    functionName: minimal_mp4_get_track_audio_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_free
    - Mp4parseTrackAudioInfo::default
    - parse_minimal_mp4
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_get_track_audio_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1986,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1990,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2000,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2008,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1985
    functionDepth: 6
    functionLinenumber: 1985
    functionLinenumberEnd: 2017
    functionName: minimal_mp4_get_track_info_invalid_track_number
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    - Default::default
    - parse_minimal_mp4
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_get_track_info_invalid_track_number()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2021,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2024,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2034,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2020
    functionDepth: 6
    functionLinenumber: 2020
    functionLinenumberEnd: 2052
    functionName: repeated_get_track_audio_info_returns_stable_pointer
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_free
    - Mp4parseTrackAudioInfo::default
    - parse_minimal_mp4
    linkageType: ''
    returnType: void
    signature: fn repeated_get_track_audio_info_returns_stable_pointer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2062,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2062,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2064,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2069,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2070,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2073,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2074,1
    - Dst: add
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2079,1
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2110,1
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2114,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2061
    functionDepth: 5
    functionLinenumber: 2061
    functionLinenumberEnd: 2125
    functionName: multi_opus_description_codec_specific_pointers_are_valid
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - std::fs::File::open
    - Some
    - add
    - expect
    - std::slice::from_raw_parts
    - Mp4parseTrackAudioInfo::default
    - mp4parse_new
    - std::ptr::null_mut
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn multi_opus_description_codec_specific_pointers_are_valid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2129,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2132,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2141,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2163
      start: 2128
    functionDepth: 6
    functionLinenumber: 2128
    functionLinenumberEnd: 2163
    functionName: repeated_get_track_video_info_returns_stable_pointer
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    - parse_minimal_mp4
    linkageType: ''
    returnType: void
    signature: fn repeated_get_track_video_info_returns_stable_pointer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2167,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2167,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2169,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2174,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2175,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2180,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2166
    functionDepth: 5
    functionLinenumber: 2166
    functionLinenumberEnd: 2184
    functionName: parse_no_timescale
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::fs::File::open
    - Some
    - expect
    - Mp4parseTrackInfo::default
    - mp4parse_get_track_info
    - mp4parse_new
    - std::ptr::null_mut
    linkageType: ''
    returnType: void
    signature: fn parse_no_timescale()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::slice::from_raw_parts_mut
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:14,1
    - Dst: read
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:15,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:16,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:16,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - size
    - userdata
    argTypes:
    - '*mut u8'
    - usize
    - '*mut std::os::raw::c_void'
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: vec_read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs
    functionUses: 0
    functionsReached:
    - try_into
    - std::slice::from_raw_parts_mut
    - expect
    - read
    linkageType: ''
    returnType: isize
    signature: 'extern "C" fn vec_read(buf: *mut u8, size: usize, userdata: *mut std::os::raw::c_void)
      -> isize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::io::Cursor::new
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:2,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:4,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:8,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:9,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:13,1
    - Dst: mp4parse_get_fragment_info
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:14,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:16,1
    - Dst: mp4parse_get_pssh_info
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:17,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:20,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:24,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:26,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:27,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:30,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:31,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:34,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:35,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:43,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:44,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 20
    functionDepth: 5
    functionLinenumber: 20
    functionLinenumberEnd: 67
    functionName: fuzz_target
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - Some
    - mp4parse_get_pssh_info
    - mp4parse_free
    - mp4parse_is_fragmented
    - mp4parse_get_fragment_info
    - mp4parse_get_track_count
    - Default::default
    - mp4parse_get_track_video_info
    - std::io::Cursor::new
    - mp4parse_get_track_info
    - mp4parse_get_indice_table
    - mp4parse_new
    - std::ptr::null_mut
    - Mp4parseTrackVideoInfo::default
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:17,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:17,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:19,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:24,1
    - Dst: mp4parse_avif_new
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - filename
    - strictness
    argTypes:
    - '&str'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 34
      start: 16
    functionDepth: 5
    functionLinenumber: 16
    functionLinenumberEnd: 34
    functionName: dump_avif
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
    functionUses: 0
    functionsReached:
    - Some
    - mp4parse_avif_new
    - expect
    - std::ptr::null_mut
    - File::open
    linkageType: ''
    returnType: void
    signature: 'fn dump_avif(filename: &str, strictness: ParseStrictness)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:37,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:37,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:39,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:44,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:45,1
    - Dst: dump_avif
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:51,1
    - Dst: Mp4parseFragmentInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:59,1
    - Dst: mp4parse_get_fragment_info
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:60,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:71,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:82,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:84,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:96,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:97,1
    - Dst: offset
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:101,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:117,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:118,1
    - Dst: offset
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:122,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:140,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:141,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 104
    argCount: 2
    argNames:
    - filename
    - strictness
    argTypes:
    - '&str'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 159
      start: 36
    functionDepth: 8
    functionLinenumber: 36
    functionLinenumberEnd: 159
    functionName: dump_file
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
    functionUses: 0
    functionsReached:
    - offset
    - Mp4parseByteData::default
    - Mp4parseTrackVideoInfo::default
    - Some
    - mp4parse_get_track_info
    - Mp4parseTrackAudioInfo::default
    - File::open
    - mp4parse_get_track_audio_info
    - mp4parse_get_indice_table
    - std::ptr::null_mut
    - dump_avif
    - mp4parse_get_fragment_info
    - mp4parse_get_track_count
    - expect
    - Default::default
    - mp4parse_get_track_video_info
    - Mp4parseFragmentInfo::default
    - mp4parse_new
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: 'fn dump_file(filename: &str, strictness: ParseStrictness)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:165,1
    - Dst: env::args
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:166,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:166,1
    - Dst: as_str
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:167,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:173,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:176,1
    - Dst: Mp4parseStatus::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:182,1
    - Dst: env_logger::Env::default
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:187,1
    - Dst: env_logger::Builder::from_env
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:188,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:190,1
    - Dst: init
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:192,1
    - Dst: dump_func
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:196,1
    - Dst: as_str
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 161
    functionDepth: 6
    functionLinenumber: 161
    functionLinenumberEnd: 199
    functionName: main
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
    functionUses: 0
    functionsReached:
    - get
    - env::args
    - filter
    - skip
    - Vec::new
    - init
    - env_logger::Env::default
    - Mp4parseStatus::is_empty
    - dump_func
    - Mp4parseStatus::push
    - env_logger::Builder::from_env
    - as_str
    linkageType: ''
    returnType: void
    signature: fn main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: overflow_protection
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/overflow.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn overflow_protection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:243,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:243,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:244,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:245,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:245,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:247,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:248,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:248,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:260,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:267,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:268,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:268,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:314,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:321,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:322,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 242
    functionDepth: 5
    functionLinenumber: 242
    functionLinenumberEnd: 369
    functionName: public_api
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Vec::new
    - Cursor::new
    - first
    - expect
    - mp4::read_mp4
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_api()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:373,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:373,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:374,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:375,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:375,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:377,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:378,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:378,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:379,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:379,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:383,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 435
    functionName: public_metadata
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Vec::new
    - Cursor::new
    - expect
    - mp4::read_mp4
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_metadata()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:439,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:439,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:440,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:441,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:441,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:443,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:444,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:444,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:445,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:445,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:449,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 438
    functionDepth: 5
    functionLinenumber: 438
    functionLinenumberEnd: 498
    functionName: public_metadata_gnre
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Vec::new
    - Cursor::new
    - expect
    - mp4::read_mp4
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_metadata_gnre()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:504,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:504,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:505,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:506,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:506,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:508,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:509,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:509,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:521,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 501
    functionDepth: 5
    functionLinenumber: 501
    functionLinenumberEnd: 538
    functionName: public_invalid_metadata
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Vec::new
    - Cursor::new
    - expect
    - mp4::read_mp4
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_invalid_metadata()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:547,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:547,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:548,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:549,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:549,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:551,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:552,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:552,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:554,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:555,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:555,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:560,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:560,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 541
    functionDepth: 5
    functionLinenumber: 541
    functionLinenumberEnd: 584
    functionName: public_audio_tenc
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - find
    - is_some
    - Vec::new
    - Cursor::new
    - first
    - expect
    - mp4::read_mp4
    - iter
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_audio_tenc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:605,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:605,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:606,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:607,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:607,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:609,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:610,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:610,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:612,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:613,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:613,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:618,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:618,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:618,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 587
    functionDepth: 5
    functionLinenumber: 587
    functionLinenumberEnd: 651
    functionName: public_video_cenc
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - find
    - is_some
    - Vec::new
    - Cursor::new
    - first
    - expect
    - mp4::read_mp4
    - iter
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_video_cenc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:677,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:677,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:678,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:679,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:679,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:681,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:682,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:682,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:684,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:690,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:690,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 732
      start: 654
    functionDepth: 5
    functionLinenumber: 654
    functionLinenumberEnd: 732
    functionName: public_audio_cbcs
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - find
    - is_some
    - Vec::new
    - Cursor::new
    - expect
    - mp4::read_mp4
    - iter
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_audio_cbcs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:758,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:758,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:759,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:760,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:760,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:762,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:763,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:763,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:765,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:773,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:773,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:773,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 812
      start: 735
    functionDepth: 5
    functionLinenumber: 735
    functionLinenumberEnd: 812
    functionName: public_video_cbcs
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - find
    - is_some
    - Vec::new
    - Cursor::new
    - expect
    - mp4::read_mp4
    - iter
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_video_cbcs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:816,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:816,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:817,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:818,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:818,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:820,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:821,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:821,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:830,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:837,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:838,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 863
      start: 815
    functionDepth: 5
    functionLinenumber: 815
    functionLinenumberEnd: 863
    functionName: public_video_av1
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Vec::new
    - Cursor::new
    - first
    - expect
    - mp4::read_mp4
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_video_av1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:867,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:867,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:868,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:868,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:869,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:869,1
    - Dst: count
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:869,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:874,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:874,1
    - Dst: count
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 881
      start: 866
    functionDepth: 8
    functionLinenumber: 866
    functionLinenumberEnd: 881
    functionName: public_mp4_bug_1185230
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - filter
    - expect
    - mp4::read_mp4
    - iter
    - count
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_mp4_bug_1185230()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:885,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 891
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 891
    functionName: public_mp4_ctts_overflow
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_mp4_ctts_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:895,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:895,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:896,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 904
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 904
    functionName: public_avif_primary_item
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_avif
    - Result::expect
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_primary_item()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:908,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:908,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:909,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 911
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 911
    functionName: public_avif_primary_item_split_extents
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_avif
    - Result::expect
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_primary_item_split_extents()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 918
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 918
    functionName: public_avif_alpha_item
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - for_strictness_result
    linkageType: ''
    returnType: void
    signature: fn public_avif_alpha_item()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:922,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 928
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 928
    functionName: public_avif_alpha_non_premultiplied
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - for_strictness_result
    linkageType: ''
    returnType: void
    signature: fn public_avif_alpha_non_premultiplied()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:932,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 938
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 938
    functionName: public_avif_alpha_premultiplied
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - for_strictness_result
    linkageType: ''
    returnType: void
    signature: fn public_avif_alpha_premultiplied()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:942,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:942,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:943,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 951
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 951
    functionName: public_avif_unknown_mdat
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_avif
    - Result::expect
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_unknown_mdat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:956,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 961
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 961
    functionName: public_avif_unknown_mdat_in_oversized_meta
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_unknown_mdat_in_oversized_meta()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:965,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 967
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 967
    functionName: public_avif_bug_1655846
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_bug_1655846()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:971,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 973
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 973
    functionName: public_avif_bug_1661347
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_bug_1661347()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:979,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:979,1
    - Dst: rewind
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:986,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:986,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - path
    - check
    argTypes:
    - '&str'
    - impl Fn(ParseStrictness, mp4::Result<mp4::AvifContext>)
    constantsTouched: []
    func_position:
      end: 989
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 989
    functionName: for_strictness_result
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 3
    functionsReached:
    - mp4::read_avif
    - rewind
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: 'fn for_strictness_result(path: &str,check: impl Fn(ParseStrictness,
      mp4::Result<mp4::AvifContext>),)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - expected
    argTypes:
    - '&str'
    - Status
    constantsTouched: []
    func_position:
      end: 1000
      start: 992
    functionDepth: 2
    functionLinenumber: 992
    functionLinenumberEnd: 1000
    functionName: assert_avif_should
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - for_strictness_result
    linkageType: ''
    returnType: void
    signature: 'fn assert_avif_should(path: &str, expected: Status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - expected
    argTypes:
    - '&str'
    - Status
    constantsTouched: []
    func_position:
      end: 1011
      start: 1003
    functionDepth: 2
    functionLinenumber: 1003
    functionLinenumberEnd: 1011
    functionName: assert_avif_shall
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - for_strictness_result
    linkageType: ''
    returnType: void
    signature: 'fn assert_avif_shall(path: &str, expected: Status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1018
    functionDepth: 3
    functionLinenumber: 1018
    functionLinenumberEnd: 1020
    functionName: public_avif_av1c_missing_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_av1c_missing_essential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1024,1
    - Dst: assert_unsupported_nonfatal
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1031
    functionName: public_avif_clap_missing_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported_nonfatal
    - for_strictness_result
    linkageType: ''
    returnType: void
    signature: fn public_avif_clap_missing_essential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1034
    functionDepth: 3
    functionLinenumber: 1034
    functionLinenumberEnd: 1036
    functionName: public_avif_imir_missing_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_imir_missing_essential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1039
    functionDepth: 3
    functionLinenumber: 1039
    functionLinenumberEnd: 1041
    functionName: public_avif_irot_missing_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_irot_missing_essential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1044
    functionDepth: 3
    functionLinenumber: 1044
    functionLinenumberEnd: 1046
    functionName: public_avif_ipma_bad_version
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_ipma_bad_version()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1049
    functionDepth: 3
    functionLinenumber: 1049
    functionLinenumberEnd: 1051
    functionName: public_avif_ipma_bad_flags
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_ipma_bad_flags()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1054
    functionDepth: 3
    functionLinenumber: 1054
    functionLinenumberEnd: 1059
    functionName: public_avif_ipma_duplicate_version_and_flags
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_ipma_duplicate_version_and_flags()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1067,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1072
    functionName: public_avif_ipma_duplicate_item_id
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_ipma_duplicate_item_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1075
    functionDepth: 3
    functionLinenumber: 1075
    functionLinenumberEnd: 1077
    functionName: public_avif_ipma_invalid_property_index
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_ipma_invalid_property_index()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1081,1
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1080
    functionDepth: 3
    functionLinenumber: 1080
    functionLinenumberEnd: 1083
    functionName: public_avif_hdlr_first_in_meta
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_hdlr_first_in_meta()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1088
    functionName: public_avif_hdlr_is_pict
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_hdlr_is_pict()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1091
    functionDepth: 3
    functionLinenumber: 1091
    functionLinenumberEnd: 1099
    functionName: public_avif_hdlr_nonzero_reserved
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_hdlr_nonzero_reserved()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1102
    functionDepth: 3
    functionLinenumber: 1102
    functionLinenumberEnd: 1107
    functionName: public_avif_hdlr_multiple_nul
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_hdlr_multiple_nul()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1110
    functionDepth: 3
    functionLinenumber: 1110
    functionLinenumberEnd: 1112
    functionName: public_avif_no_mif1
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_no_mif1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1115
    functionDepth: 3
    functionLinenumber: 1115
    functionLinenumberEnd: 1117
    functionName: public_avif_no_pitm
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_no_pitm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pixi_test
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1127,1
    - Dst: pixi_test
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1129
    functionName: public_avif_pixi_present_for_displayable_images
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - pixi_test
    linkageType: ''
    returnType: void
    signature: fn public_avif_pixi_present_for_displayable_images()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1133,1
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1132
    functionDepth: 3
    functionLinenumber: 1132
    functionLinenumberEnd: 1135
    functionName: public_avif_av1c_present_for_av01
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_av1c_present_for_av01()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1139,1
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1138
    functionDepth: 3
    functionLinenumber: 1138
    functionLinenumberEnd: 1141
    functionName: public_avif_ispe_present
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_ispe_present()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1144
    functionDepth: 3
    functionLinenumber: 1144
    functionLinenumberEnd: 1146
    functionName: public_avif_transform_before_ispe
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_transform_before_ispe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1149
    functionDepth: 3
    functionLinenumber: 1149
    functionLinenumberEnd: 1151
    functionName: public_avif_transform_order
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_transform_order()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - result
    - feature
    argTypes:
    - '&mp4::Result<mp4::AvifContext>'
    - mp4::Feature
    constantsTouched: []
    func_position:
      end: 1168
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1168
    functionName: assert_unsupported_nonfatal
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn assert_unsupported_nonfatal(result: &mp4::Result<mp4::AvifContext>,
      feature: mp4::Feature)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1175,1
    - Dst: assert_unsupported_nonfatal
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - path
    - feature
    - essential
    argTypes:
    - '&str'
    - mp4::Feature
    - bool
    constantsTouched: []
    func_position:
      end: 1186
      start: 1174
    functionDepth: 2
    functionLinenumber: 1174
    functionLinenumberEnd: 1186
    functionName: assert_unsupported
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported_nonfatal
    - for_strictness_result
    linkageType: ''
    returnType: void
    signature: 'fn assert_unsupported(path: &str, feature: mp4::Feature, essential:
      bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_unsupported
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - feature
    argTypes:
    - '&str'
    - mp4::Feature
    constantsTouched: []
    func_position:
      end: 1190
      start: 1188
    functionDepth: 3
    functionLinenumber: 1188
    functionLinenumberEnd: 1190
    functionName: assert_unsupported_nonessential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported
    linkageType: ''
    returnType: void
    signature: 'fn assert_unsupported_nonessential(path: &str, feature: mp4::Feature)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_unsupported
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - feature
    argTypes:
    - '&str'
    - mp4::Feature
    constantsTouched: []
    func_position:
      end: 1194
      start: 1192
    functionDepth: 3
    functionLinenumber: 1192
    functionLinenumberEnd: 1194
    functionName: assert_unsupported_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported
    linkageType: ''
    returnType: void
    signature: 'fn assert_unsupported_essential(path: &str, feature: mp4::Feature)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_unsupported_nonessential
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1197
    functionDepth: 4
    functionLinenumber: 1197
    functionLinenumberEnd: 1199
    functionName: public_avif_a1lx
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported_nonessential
    linkageType: ''
    returnType: void
    signature: fn public_avif_a1lx()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1202
    functionDepth: 3
    functionLinenumber: 1202
    functionLinenumberEnd: 1204
    functionName: public_avif_a1lx_marked_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_a1lx_marked_essential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_unsupported_essential
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1207
    functionDepth: 4
    functionLinenumber: 1207
    functionLinenumberEnd: 1209
    functionName: public_avif_a1op
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported_essential
    linkageType: ''
    returnType: void
    signature: fn public_avif_a1op()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1212
    functionDepth: 3
    functionLinenumber: 1212
    functionLinenumberEnd: 1214
    functionName: public_avif_a1op_missing_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_a1op_missing_essential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_unsupported_essential
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1217
    functionDepth: 4
    functionLinenumber: 1217
    functionLinenumberEnd: 1219
    functionName: public_avif_lsel
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported_essential
    linkageType: ''
    returnType: void
    signature: fn public_avif_lsel()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1222
    functionDepth: 3
    functionLinenumber: 1222
    functionLinenumberEnd: 1224
    functionName: public_avif_lsel_missing_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_lsel_missing_essential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_unsupported_essential
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1227
    functionDepth: 4
    functionLinenumber: 1227
    functionLinenumberEnd: 1229
    functionName: public_avif_clap
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported_essential
    linkageType: ''
    returnType: void
    signature: fn public_avif_clap()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1234,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1234,1
    - Dst: assert_unsupported_nonfatal
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1235,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1240
    functionName: public_avif_grid
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported_nonfatal
    - mp4::read_avif
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_grid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1244,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1244,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1253
    functionName: public_avis_major_no_pitm
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_avif
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avis_major_no_pitm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1257,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1257,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1273
    functionName: public_avis_major_with_pitm_and_alpha
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_avif
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avis_major_with_pitm_and_alpha()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1276
    functionDepth: 3
    functionLinenumber: 1276
    functionLinenumberEnd: 1278
    functionName: public_avif_avis_major_no_moov
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_avis_major_no_moov()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1282,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1282,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1296
    functionName: public_avif_avis_with_no_pitm_no_iloc
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_avif
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_avis_with_no_pitm_no_iloc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1299
    functionDepth: 3
    functionLinenumber: 1299
    functionLinenumberEnd: 1301
    functionName: public_avif_avis_with_pitm_no_iloc
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_avis_with_pitm_no_iloc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1304
    functionDepth: 3
    functionLinenumber: 1304
    functionLinenumberEnd: 1309
    functionName: public_avif_valid_with_garbage_overread_at_end
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_valid_with_garbage_overread_at_end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1312
    functionDepth: 3
    functionLinenumber: 1312
    functionLinenumberEnd: 1314
    functionName: public_avif_valid_with_garbage_byte_at_end
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_valid_with_garbage_byte_at_end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1318,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1323
    functionName: public_avif_bad_video_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_bad_video_sample_entry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1326,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1326,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - path
    - looped
    argTypes:
    - '&str'
    - bool
    constantsTouched: []
    func_position:
      end: 1343
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1343
    functionName: public_avis_loop_impl
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_avif
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: 'fn public_avis_loop_impl(path: &str, looped: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_avis_loop_impl
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1346
    functionDepth: 2
    functionLinenumber: 1346
    functionLinenumberEnd: 1348
    functionName: public_avif_avis_no_loop
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - public_avis_loop_impl
    linkageType: ''
    returnType: void
    signature: fn public_avif_avis_no_loop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_avis_loop_impl
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1351
    functionDepth: 2
    functionLinenumber: 1351
    functionLinenumberEnd: 1353
    functionName: public_avif_avis_loop_forever
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - public_avis_loop_impl
    linkageType: ''
    returnType: void
    signature: fn public_avif_avis_loop_forever()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_avif_read_samples_impl
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1358
    functionName: public_avif_read_samples
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - public_avif_read_samples_impl
    linkageType: ''
    returnType: void
    signature: fn public_avif_read_samples()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_avif_read_samples_impl
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1364
    functionName: public_avif_read_samples_strict
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - public_avif_read_samples_impl
    linkageType: ''
    returnType: void
    signature: fn public_avif_read_samples_strict()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[&str]::iter'
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1367,1
    - Dst: SampleToChunkIterator::map
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1367,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1367,1
    - Dst: collect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - strs
    argTypes:
    - '&[&str]'
    constantsTouched: []
    func_position:
      end: 1371
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1371
    functionName: to_canonical_paths
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::map
    - '&[&str]::iter'
    - collect
    - map
    linkageType: ''
    returnType: Vec
    signature: 'fn to_canonical_paths(strs: &[&str]) -> Vec<std::path::PathBuf>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_canonical_paths
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1374,1
    - Dst: to_canonical_paths
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1375,1
    - Dst: to_canonical_paths
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1377,1
    - Dst: walkdir::WalkDir::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1382,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1383,1
    - Dst: Result::path
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1384,1
    - Dst: extension
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1385,1
    - Dst: unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1385,1
    - Dst: is_file
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1386,1
    - Dst: canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1390,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1390,1
    - Dst: parent
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1390,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1390,1
    - Dst: std::fs::canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1391,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1391,1
    - Dst: Vec::contains
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1392,1
    - Dst: canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1392,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1392,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1393,1
    - Dst: canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1393,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1393,1
    - Dst: Vec::contains
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1395,1
    - Dst: canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1395,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1395,1
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1402,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1402,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1403,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 80
    argCount: 1
    argNames:
    - strictness
    argTypes:
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 1426
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1426
    functionName: public_avif_read_samples_impl
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 2
    functionsReached:
    - walkdir::WalkDir::new
    - unwrap
    - File::open
    - contains
    - to_canonical_paths
    - extension
    - Vec::contains
    - is_file
    - expect
    - mp4::read_avif
    - unwrap_or_default
    - std::fs::canonicalize
    - Result::path
    - Result::expect
    - parent
    - canonicalize
    linkageType: ''
    returnType: void
    signature: 'fn public_avif_read_samples_impl(strictness: ParseStrictness)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1430,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1430,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1431,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1432,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1432,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1434,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1435,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1435,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1437,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1438,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1429
    functionDepth: 5
    functionLinenumber: 1429
    functionLinenumberEnd: 1452
    functionName: public_video_h263
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - first
    - expect
    - mp4::read_mp4
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_video_h263()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1456,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1456,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1457,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1458,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1458,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1460,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1461,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1461,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1463,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1464,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1455
    functionDepth: 5
    functionLinenumber: 1455
    functionLinenumberEnd: 1478
    functionName: public_video_hevc
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - first
    - expect
    - mp4::read_mp4
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_video_hevc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1482,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1482,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1483,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1484,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1484,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1486,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1487,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1487,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1489,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1490,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1481
    functionDepth: 5
    functionLinenumber: 1481
    functionLinenumberEnd: 1507
    functionName: public_parse_pasp_h264
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - first
    - expect
    - mp4::read_mp4
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_parse_pasp_h264()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1512,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1512,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1513,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1514,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1514,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1516,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1517,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1517,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1519,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1520,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1511
    functionDepth: 5
    functionLinenumber: 1511
    functionLinenumberEnd: 1532
    functionName: public_audio_amrnb
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - first
    - expect
    - mp4::read_mp4
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_audio_amrnb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1537,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1537,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1538,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1539,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1539,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1541,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1542,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1542,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1544,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1545,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1536
    functionDepth: 5
    functionLinenumber: 1536
    functionLinenumberEnd: 1557
    functionName: public_audio_amrwb
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - first
    - expect
    - mp4::read_mp4
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_audio_amrwb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1562,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1562,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1563,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1564,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1564,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1566,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1567,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1567,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1569,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1570,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1561
    functionDepth: 5
    functionLinenumber: 1561
    functionLinenumberEnd: 1584
    functionName: public_video_mp4v
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - first
    - expect
    - mp4::read_mp4
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_video_mp4v()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1588,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1588,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1589,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1590,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1590,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1592,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1593,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1593,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1609,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1609,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1616,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1587
    functionDepth: 5
    functionLinenumber: 1587
    functionLinenumberEnd: 1661
    functionName: public_audio_xhe_aac
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - first
    - expect
    - mp4::read_mp4
    - as_ref
    - read_to_end
    - Result::expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_audio_xhe_aac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: CheckedInteger::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(i: T) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - checked
    argTypes:
    - CheckedInteger<i64>
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: i64::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i64
    signature: 'fn from(checked: CheckedInteger<i64>) -> i64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:35,1
    - Dst: U::into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:35,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - U
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: CheckedInteger::add
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - checked_add
    - U::into
    - map
    linkageType: ''
    returnType: Self::Output
    signature: 'fn add(self, other: U) -> Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:57,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:57,1
    - Dst: i64::try_from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:59,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:59,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:57,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:62,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:62,1
    - Dst: i64::try_from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:65,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:65,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:62,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - other
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 7
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: CheckedInteger::sub
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - checked_sub
    - Result::ok
    - i64::try_from
    - and_then
    - map
    linkageType: ''
    returnType: Self::Output
    signature: 'fn sub(self, other: Self) -> Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 97
    functionName: u64_subtraction_returning_i64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn u64_subtraction_returning_i64()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&T'
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: CheckedInteger::eq
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &T) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:149,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:151,1
    - Dst: sample_to_chunk_iter
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:158,1
    - Dst: SampleToChunkIterator::map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:158,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:159,1
    - Dst: try_fold
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:158,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:161,1
    - Dst: ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:161,1
    - Dst: sample_to_chunk_iter
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:163,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:166,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:167,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:172,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:175,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:182,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:187,1
    - Dst: ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:182,1
    - Dst: SampleToChunkIterator::checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:196,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:196,1
    - Dst: get_mut
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:198,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:206,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:206,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:206,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:206,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:218,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:218,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:228,1
    - Dst: as_mut_slice
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:229,1
    - Dst: next_delta
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:231,1
    - Dst: next_offset_time
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:234,1
    - Dst: CheckedInteger
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:247,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:247,1
    - Dst: CheckedInteger
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:248,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:248,1
    - Dst: CheckedInteger
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:249,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:256,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:258,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:258,1
    - Dst: ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:258,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:260,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:261,1
    - Dst: ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:261,1
    - Dst: sort_by_key
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:264,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:264,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:266,1
    - Dst: windows
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:269,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:278,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 220
    argCount: 2
    argNames:
    - track
    - track_offset_time
    argTypes:
    - '&Track'
    - CheckedInteger<i64>
    constantsTouched: []
    func_position:
      end: 279
      start: 139
    functionDepth: 7
    functionLinenumber: 139
    functionLinenumberEnd: 279
    functionName: create_sample_table
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::map
    - len
    - get_mut
    - as_ref
    - and_then
    - push
    - Some
    - is_some
    - next_offset_time
    - sample_to_chunk_iter
    - into
    - ok
    - iter
    - next_delta
    - CheckedInteger
    - TryVec::with_capacity
    - as_mut_slice
    - SampleToChunkIterator::checked_sub
    - is_empty
    - TrackScaledTime::<i64>
    - as_slice
    - get
    - sort_by_key
    - to_usize
    - checked_add
    - try_fold
    - Default::default
    - windows
    - next
    - map
    linkageType: ''
    returnType: Option
    signature: 'pub fn create_sample_table(track: &Track,track_offset_time: CheckedInteger<i64>,)
      -> Option<TryVec<Indice>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:298,1
    - Dst: or_else
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:298,1
    - Dst: SampleToChunkIterator::next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:305,1
    - Dst: TimeOffsetVersion::Version0
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:311,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:317,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:318,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:321,1
    - Dst: and
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:324,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 325
    functionName: TimeOffsetIterator::next
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - Some
    - and
    - i64::from
    - or_else
    - SampleToChunkIterator::next
    - TimeOffsetVersion::Version0
    - next
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<i64>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TimeOffsetIterator::next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:330,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:331,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: TimeOffsetIterator::next_offset_time
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - TrackScaledTime::<i64>
    - TimeOffsetIterator::next
    linkageType: ''
    returnType: TrackScaledTime
    signature: fn next_offset_time(&mut self) -> TrackScaledTime<i64>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:355,1
    - Dst: or_else
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:355,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:356,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:364,1
    - Dst: and
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:367,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 368
    functionName: TimeToSampleIterator::next
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - Some
    - or_else
    - next
    - and
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<u32>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TimeToSampleIterator::next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:373,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:374,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:374,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: TimeToSampleIterator::next_delta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - TrackScaledTime::<i64>
    - TimeToSampleIterator::next
    - i64::from
    linkageType: ''
    returnType: TrackScaledTime
    signature: fn next_delta(&mut self) -> TrackScaledTime<i64>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''a TryVec<SampleToChunk>::as_slice'
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:398,1
    - Dst: '&''a [u8]::iter'
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:398,1
    - Dst: SampleToChunkIterator::peekable
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:398,1
    - Dst: '&''a TryVec<u64>::len'
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:399,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:399,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - stsc_samples
    - stco_offsets
    argTypes:
    - '&''a TryVec<SampleToChunk>'
    - '&''a TryVec<u64>'
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: sample_to_chunk_iter
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - '&''a TryVec<SampleToChunk>::as_slice'
    - '&''a TryVec<u64>::len'
    - expect
    - try_into
    - SampleToChunkIterator::peekable
    - '&''a [u8]::iter'
    linkageType: ''
    returnType: SampleToChunkIterator
    signature: 'fn sample_to_chunk_iter<''a>(stsc_samples: &''a TryVec<SampleToChunk>,stco_offsets:
      &''a TryVec<u64>,) -> SampleToChunkIterator<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:417,1
    - Dst: or_else
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:417,1
    - Dst: SampleToChunkIterator::locate
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:418,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:419,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:421,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:421,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:421,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:419,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:428,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 433
    functionName: SampleToChunkIterator::next
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - len
    - checked_sub
    - SampleToChunkIterator::locate
    - expect
    - or_else
    - try_into
    - next
    - and_then
    - map
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<(u32, u32)>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:440,1
    - Dst: peek
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:440,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:454,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 462
    functionName: SampleToChunkIterator::locate
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - checked_add
    - next
    - peek
    linkageType: ''
    returnType: std::ops::Range
    signature: fn locate(&mut self) -> std::ops::Range<u32>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::is_zero
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:478,1
    - Dst: num_traits::cast
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:484,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:484,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:484,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:485,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:485,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - numerator
    - denominator
    - scale2
    argTypes:
    - T
    - T
    - S
    constantsTouched: []
    func_position:
      end: 490
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 490
    functionName: rational_scale
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - checked_add
    - checked_mul
    - num_traits::cast
    - T::is_zero
    - and_then
    linkageType: ''
    returnType: Option
    signature: 'pub fn rational_scale<T, S>(numerator: T, denominator: T, scale2:
      S) -> Option<T>whereT: PrimInt + Zero,S: PrimInt,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rational_scale
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:499,1
    - Dst: Option::map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - time
    - scale
    argTypes:
    - MediaScaledTime
    - MediaTimeScale
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: media_time_to_us
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - Option::map
    - rational_scale
    linkageType: ''
    returnType: Option
    signature: 'pub fn media_time_to_us(time: MediaScaledTime, scale: MediaTimeScale)
      -> Option<Microseconds<u64>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rational_scale
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:513,1
    - Dst: Option::map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - time
    - scale
    argTypes:
    - TrackScaledTime<T>
    - TrackTimeScale<T>
    constantsTouched: []
    func_position:
      end: 514
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 514
    functionName: track_time_to_us
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - Option::map
    - rational_scale
    linkageType: ''
    returnType: Option
    signature: 'pub fn track_time_to_us<T>(time: TrackScaledTime<T>,scale: TrackTimeScale<T>,)
      -> Option<Microseconds<T>>whereT: PrimInt + Zero,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 526
    functionName: rational_scale_overflow
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn rational_scale_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MediaTimeScale
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:530,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 536
    functionName: media_time_overflow
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - MediaTimeScale
    - MediaScaledTime
    linkageType: ''
    returnType: void
    signature: fn media_time_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TrackTimeScale
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:540,1
    - Dst: TrackScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 546
    functionName: track_time_overflow
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - TrackTimeScale
    - TrackScaledTime
    linkageType: ''
    returnType: void
    signature: fn track_time_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limit
      Src: /src/mp4parse-rust/mp4parse/src/macros.rs:2,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/macros.rs:4,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 12
    functionName: check_parser_state
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/macros.rs
    functionUses: 0
    functionsReached:
    - into
    - limit
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:82,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: usize::to_u64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - usize::try_into
    - expect
    linkageType: ''
    returnType: u64
    signature: fn to_u64(self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: impl_to_usize_from::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:7,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: impl_to_usize_from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - expect
    - impl_to_usize_from::try_into
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&''a mut T'
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: OffsetReader::new
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn new(reader: &''a mut T) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: OffsetReader::offset
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: fn offset(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:140,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:142,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:144,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:142,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: OffsetReader::read
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - checked_add
    - expect
    - read
    - Ok
    - to_u64
    linkageType: ''
    returnType: std::io::Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 312
    functionName: Feature::supported
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: fn supported(self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:319,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:334,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - item_property
    argTypes:
    - '&ItemProperty'
    constantsTouched: []
    func_position:
      end: 337
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 337
    functionName: Feature::try_from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Error::Unsupported
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(item_property: &ItemProperty) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: UnsupportedFeatures::new
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: UnsupportedFeatures::into_bitfield
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn into_bitfield(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: UnsupportedFeatures::feature_to_bitfield
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'fn feature_to_bitfield(feature: Feature) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::feature_to_bitfield
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: UnsupportedFeatures::insert
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::feature_to_bitfield
    linkageType: ''
    returnType: void
    signature: 'pub fn insert(&mut self, feature: Feature)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::feature_to_bitfield
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: UnsupportedFeatures::contains
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::feature_to_bitfield
    linkageType: ''
    returnType: bool
    signature: 'pub fn contains(&self, feature: Feature) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: UnsupportedFeatures::is_empty
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_empty(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:397,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parse_status
    argTypes:
    - Status
    constantsTouched: []
    func_position:
      end: 399
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 399
    functionName: Result::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - into
    - Err
    linkageType: ''
    returnType: Self
    signature: 'fn from(parse_status: Status) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames: []
    argTypes:
    - TryReserveError
    constantsTouched: []
    func_position:
      end: 914
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 914
    functionName: Error::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Error
    signature: 'fn from(_: TryReserveError) -> Error'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - Status
    constantsTouched: []
    func_position:
      end: 786
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 786
    functionName: '&str::from'
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(status: Status) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames: []
    argTypes:
    - std::io::Error
    constantsTouched: []
    func_position:
      end: 835
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 835
    functionName: Status::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(_: std::io::Error) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut std::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 862
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 862
    functionName: Error::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::fmt::Result
    signature: 'fn fmt(&self, f: &mut std::fmt::Formatter<''_>) -> std::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - Error
    constantsTouched: []
    func_position:
      end: 908
      start: 901
    functionDepth: 5
    functionLinenumber: 901
    functionLinenumberEnd: 908
    functionName: std::io::Error::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: 'fn from(err: Error) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - brand
    argTypes:
    - '&FourCC'
    constantsTouched: []
    func_position:
      end: 959
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 959
    functionName: FileTypeBox::contains
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: 'fn contains(&self, brand: &FourCC) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1106,1
    - Dst: any
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1106,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - track_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1109
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1109
    functionName: TrackReferenceBox::has_auxl_reference
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - iter
    - contains
    - any
    linkageType: ''
    returnType: bool
    signature: 'pub fn has_auxl_reference(&self, track_id: u32) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1272
    functionName: AV1ConfigBox::config_obus
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn config_obus(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1573,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1573,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1573,1
    - Dst: debug_struct
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1577,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1577,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 1582
      start: 1571
    functionDepth: 1
    functionLinenumber: 1571
    functionLinenumberEnd: 1582
    functionName: IsobmffItem::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - field
    - debug_struct
    - finish
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsobmffItem::Data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1600,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - ItemId
    constantsTouched: []
    func_position:
      end: 1602
      start: 1597
    functionDepth: 5
    functionLinenumber: 1597
    functionLinenumberEnd: 1602
    functionName: AvifItem::with_inline_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - IsobmffItem::Data
    - TryVec::new
    linkageType: ''
    returnType: Self
    signature: 'fn with_inline_data(id: ItemId) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1638
    functionName: AvifContext::primary_item_is_present
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - is_some
    linkageType: ''
    returnType: bool
    signature: pub fn primary_item_is_present(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1641,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1641,1
    - Dst: AvifContext::item_as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1644
    functionName: AvifContext::primary_item_coded_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - AvifContext::item_as_slice
    - map
    linkageType: ''
    returnType: Option
    signature: pub fn primary_item_coded_data(&self) -> Option<&[u8]>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1647,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1647,1
    - Dst: AvifContext::image_bits_per_channel
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1646
    functionDepth: 1
    functionLinenumber: 1646
    functionLinenumberEnd: 1650
    functionName: AvifContext::primary_item_bits_per_channel
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - AvifContext::image_bits_per_channel
    - map
    linkageType: ''
    returnType: Option
    signature: pub fn primary_item_bits_per_channel(&self) -> Option<Result<&[u8]>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1654
    functionName: AvifContext::alpha_item_is_present
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - is_some
    linkageType: ''
    returnType: bool
    signature: pub fn alpha_item_is_present(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1657,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1657,1
    - Dst: AvifContext::item_as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1660
    functionName: AvifContext::alpha_item_coded_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - AvifContext::item_as_slice
    - map
    linkageType: ''
    returnType: Option
    signature: pub fn alpha_item_coded_data(&self) -> Option<&[u8]>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1663,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1663,1
    - Dst: AvifContext::image_bits_per_channel
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1662
    functionDepth: 1
    functionLinenumber: 1662
    functionLinenumberEnd: 1666
    functionName: AvifContext::alpha_item_bits_per_channel
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - AvifContext::image_bits_per_channel
    - map
    linkageType: ''
    returnType: Option
    signature: pub fn alpha_item_bits_per_channel(&self) -> Option<Result<&[u8]>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1669,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1673,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1673,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - item_id
    argTypes:
    - ItemId
    constantsTouched: []
    func_position:
      end: 1677
      start: 1668
    functionDepth: 6
    functionLinenumber: 1668
    functionLinenumberEnd: 1677
    functionName: AvifContext::image_bits_per_channel
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - Ok
    - get
    - as_slice
    linkageType: ''
    returnType: Result
    signature: 'fn image_bits_per_channel(&self, item_id: ItemId) -> Result<&[u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1681,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1685,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1688,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1692,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1692,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1696,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1679
    functionDepth: 6
    functionLinenumber: 1679
    functionLinenumberEnd: 1698
    functionName: AvifContext::spatial_extents_ptr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - get
    - std::ptr::null
    - fail_with_status_if
    linkageType: ''
    returnType: Result
    signature: pub fn spatial_extents_ptr(&self) -> Result<*const ImageSpatialExtentsProperty>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_multiple
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1703,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1706,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1709,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1712,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1712,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1716,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1701
    functionDepth: 1
    functionLinenumber: 1701
    functionLinenumberEnd: 1721
    functionName: AvifContext::nclx_colour_information_ptr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - len
    - Err
    - as_slice
    - Ok
    - get_multiple
    linkageType: ''
    returnType: Option
    signature: pub fn nclx_colour_information_ptr(&self) -> Option<Result<*const NclxColourInformation>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_multiple
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1726,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1729,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1732,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1735,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1735,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1735,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1739,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1744
    functionName: AvifContext::icc_colour_information
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - len
    - Err
    - as_slice
    - Ok
    - get_multiple
    linkageType: ''
    returnType: Option
    signature: pub fn icc_colour_information(&self) -> Option<Result<&[u8]>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1748,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1752,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1754,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1746
    functionDepth: 6
    functionLinenumber: 1746
    functionLinenumberEnd: 1759
    functionName: AvifContext::image_rotation
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - get
    linkageType: ''
    returnType: Result
    signature: pub fn image_rotation(&self) -> Result<ImageRotation>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1763,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1767,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1769,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1769,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1772,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1761
    functionDepth: 6
    functionLinenumber: 1761
    functionLinenumberEnd: 1774
    functionName: AvifContext::image_mirror_ptr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - get
    - std::ptr::null
    linkageType: ''
    returnType: Result
    signature: pub fn image_mirror_ptr(&self) -> Result<*const ImageMirror>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1778,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1782,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1784,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1784,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1787,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1776
    functionDepth: 6
    functionLinenumber: 1776
    functionLinenumberEnd: 1789
    functionName: AvifContext::pixel_aspect_ratio_ptr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - get
    - std::ptr::null
    linkageType: ''
    returnType: Result
    signature: pub fn pixel_aspect_ratio_ptr(&self) -> Result<*const PixelAspectRatio>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1797,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1806,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1806,1
    - Dst: Self::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1808,1
    - Dst: unwrap_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1806,1
    - Dst: Self::as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - item
    argTypes:
    - '&''a AvifItem'
    constantsTouched: []
    func_position:
      end: 1813
      start: 1793
    functionDepth: 6
    functionLinenumber: 1793
    functionLinenumberEnd: 1813
    functionName: AvifContext::item_as_slice
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - get
    - Self::get
    - Self::as_slice
    - as_ref
    - and_then
    - unwrap_or_else
    linkageType: ''
    returnType: '&''a [u8]'
    signature: 'fn item_as_slice<''a>(&''a self, item: &''a AvifItem) -> &''a [u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1847,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1847,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1847,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 1851
      start: 1846
    functionDepth: 1
    functionLinenumber: 1846
    functionLinenumberEnd: 1851
    functionName: DataBox::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - field
    - debug_struct
    - finish
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1855,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1862
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1862
    functionName: u64_to_usize_logged
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - try_into
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn u64_to_usize_logged(x: u64) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file_offset
    - data
    argTypes:
    - u64
    - TryVec<u8>
    constantsTouched: []
    func_position:
      end: 1870
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1870
    functionName: DataBox::from_mdat
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from_mdat(file_offset: u64, data: TryVec<u8>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - TryVec<u8>
    constantsTouched: []
    func_position:
      end: 1877
      start: 1872
    functionDepth: 0
    functionLinenumber: 1872
    functionLinenumberEnd: 1877
    functionName: DataBox::from_idat
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from_idat(data: TryVec<u8>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1881
    functionName: DataBox::data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn data(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64_to_usize_logged
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1888,1
    - Dst: u64::checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1890,1
    - Dst: Option::is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1891,1
    - Dst: u64_to_usize_logged
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - offset
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1897
      start: 1886
    functionDepth: 1
    functionLinenumber: 1886
    functionLinenumberEnd: 1897
    functionName: DataBox::start
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Option::is_none
    - u64_to_usize_logged
    - u64::checked_sub
    linkageType: ''
    returnType: Option
    signature: 'fn start(&self, offset: u64) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsobmffItem::IdatLocation
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1903,1
    - Dst: '&Extent::clone'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1903,1
    - Dst: IsobmffItem::MdatLocation
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1904,1
    - Dst: '&Extent::clone'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - extent
    argTypes:
    - '&Extent'
    constantsTouched: []
    func_position:
      end: 1906
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1906
    functionName: DataBox::location
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - IsobmffItem::MdatLocation
    - IsobmffItem::IdatLocation
    - '&Extent::clone'
    linkageType: ''
    returnType: IsobmffItem
    signature: 'fn location(&self, extent: &Extent) -> IsobmffItem'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::start
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1915,1
    - Dst: Option::checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1916,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1917,1
    - Dst: DataBox::data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1920,1
    - Dst: '&[u8]::get'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1920,1
    - Dst: DataBox::start
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1923,1
    - Dst: DataBox::data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1924,1
    - Dst: '&[u8]::get'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1924,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - extent
    argTypes:
    - '&''a Extent'
    constantsTouched: []
    func_position:
      end: 1927
      start: 1912
    functionDepth: 6
    functionLinenumber: 1912
    functionLinenumberEnd: 1927
    functionName: DataBox::get
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Option::checked_add
    - '&[u8]::get'
    - is_none
    - DataBox::start
    - DataBox::data
    linkageType: ''
    returnType: Option
    signature: 'fn get<''a>(&''a self, extent: &''a Extent) -> Option<&''a [u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1937,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1937,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1938,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1938,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - src
    - version
    argTypes:
    - '&mut impl ReadBytesExt'
    - u8
    constantsTouched: []
    func_position:
      end: 1942
      start: 1936
    functionDepth: 1
    functionLinenumber: 1936
    functionLinenumberEnd: 1942
    functionName: ItemId::read
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - be_u32
    - into
    - Ok
    - ItemId
    - be_u16
    linkageType: ''
    returnType: Result
    signature: 'fn read(src: &mut impl ReadBytesExt, version: u8) -> Result<ItemId>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1978
    functionName: IlocFieldSize::as_bits
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: fn as_bits(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1986,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1987,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1988,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 1991
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 1991
    functionName: IlocFieldSize::try_from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - into
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(value: u8) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2006,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2007,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2008,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2009,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 2011
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2011
    functionName: IlocVersion::try_from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Error::Unsupported
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(value: u8) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2075,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2077,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - violation
    - status
    argTypes:
    - bool
    - Status
    constantsTouched: []
    func_position:
      end: 2082
      start: 2074
    functionDepth: 1
    functionLinenumber: 2074
    functionLinenumberEnd: 2082
    functionName: fail_with_status_if
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - Err
    - Error::from
    linkageType: ''
    returnType: Result
    signature: 'fn fail_with_status_if(violation: bool, status: Status) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2135,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2135,1
    - Dst: Self
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - TrackScaledTime<T>
    constantsTouched: []
    func_position:
      end: 2136
      start: 2134
    functionDepth: 0
    functionLinenumber: 2134
    functionLinenumberEnd: 2136
    functionName: TrackScaledTime::add
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - checked_add
    - map
    - Self
    linkageType: ''
    returnType: Self::Output
    signature: 'fn add(self, other: TrackScaledTime<T>) -> Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 2167
      start: 2162
    functionDepth: 1
    functionLinenumber: 2162
    functionLinenumberEnd: 2167
    functionName: Track::new
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: Track
    signature: 'fn new(id: usize) -> Track'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 2183
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2183
    functionName: BoxIter::new
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoxIter
    signature: 'pub fn new(src: &mut T) -> BoxIter<''_, T>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2186,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2188,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2188,1
    - Dst: take
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2190,1
    - Dst: saturating_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2190,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2192,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2185
    functionDepth: 1
    functionLinenumber: 2185
    functionLinenumberEnd: 2195
    functionName: BoxIter::next_box
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - take
    - Err
    - saturating_sub
    - Ok
    - read_box_header
    linkageType: ''
    returnType: Result
    signature: pub fn next_box(&mut self) -> Result<Option<BMFFBox<'_, T>>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 2201
      start: 2199
    functionDepth: 2
    functionLinenumber: 2199
    functionLinenumberEnd: 2201
    functionName: BMFFBox::read
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: std::io::Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fallible_collections::try_read_up_to
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2206,1
    - Dst: BMFFBox::bytes_left
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut TryVec<u8>'
    constantsTouched: []
    func_position:
      end: 2207
      start: 2205
    functionDepth: 1
    functionLinenumber: 2205
    functionLinenumberEnd: 2207
    functionName: BMFFBox::try_read_to_end
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - fallible_collections::try_read_up_to
    - BMFFBox::bytes_left
    linkageType: ''
    returnType: std::io::Result
    signature: 'fn try_read_to_end(&mut self, buf: &mut TryVec<u8>) -> std::io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2212,1
    - Dst: offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2211
    functionDepth: 1
    functionLinenumber: 2211
    functionLinenumberEnd: 2213
    functionName: BMFFBox::offset
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - get_ref
    - offset
    linkageType: ''
    returnType: u64
    signature: fn offset(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2217
    functionDepth: 1
    functionLinenumber: 2217
    functionLinenumberEnd: 2219
    functionName: BMFFBox::bytes_left
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - limit
    linkageType: ''
    returnType: u64
    signature: fn bytes_left(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2223
    functionName: BMFFBox::get_header
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&BoxHeader'
    signature: fn get_header(&self) -> &BoxHeader
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2225
    functionDepth: 1
    functionLinenumber: 2225
    functionLinenumberEnd: 2227
    functionName: BMFFBox::box_iter
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - BoxIter::new
    linkageType: ''
    returnType: BoxIter
    signature: fn box_iter(&mut self) -> BoxIter<'_, BMFFBox<'a, T>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2232,1
    - Dst: From::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2231
    functionDepth: 1
    functionLinenumber: 2231
    functionLinenumberEnd: 2236
    functionName: BMFFBox::drop
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - From::from
    - limit
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2248,1
    - Dst: BoxType::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2249,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2249,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2256,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2256,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2259,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2260,1
    - Dst: '&mut T::read'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2270,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2271,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2273,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2276,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2286,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2286,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2287,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2287,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2290,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 2296
      start: 2247
    functionDepth: 2
    functionLinenumber: 2247
    functionLinenumberEnd: 2296
    functionName: read_box_header
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - Some
    - Err
    - '&mut T::read'
    - u64::from
    - Error::from
    - BoxType::from
    - Error::Unsupported
    - Ok
    - be_u64
    - to_u64
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_box_header<T: ReadBytesExt>(src: &mut T) -> Result<BoxHeader>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut T::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2300,1
    - Dst: '&mut T::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2301,1
    - Dst: '&mut T::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2302,1
    - Dst: '&mut T::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2303,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2304,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2306,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2306,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 2308
      start: 2299
    functionDepth: 1
    functionLinenumber: 2299
    functionLinenumberEnd: 2308
    functionName: read_fullbox_extra
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - u32::from
    - '&mut T::read_u8'
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_fullbox_extra<T: ReadBytesExt>(src: &mut T) -> Result<(u8,
      u32)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2312,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2315,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2315,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 2319
      start: 2311
    functionDepth: 2
    functionLinenumber: 2311
    functionLinenumberEnd: 2319
    functionName: read_fullbox_version_no_flags
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Error::Unsupported
    - Err
    - read_fullbox_extra
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_fullbox_version_no_flags<T: ReadBytesExt>(src: &mut T)
      -> Result<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::get_header'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2325,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2327,1
    - Dst: ok_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2327,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2330,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2334
      start: 2322
    functionDepth: 1
    functionLinenumber: 2322
    functionLinenumberEnd: 2334
    functionName: skip_box_content
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - checked_sub
    - skip
    - '&mut BMFFBox<T>::get_header'
    - ok_or
    - Error::Unsupported
    linkageType: ''
    returnType: Result
    signature: 'pub fn skip_box_content<T: Read>(src: &mut BMFFBox<T>) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::get_header'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2339,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2340,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2345
      start: 2337
    functionDepth: 2
    functionLinenumber: 2337
    functionLinenumberEnd: 2345
    functionName: skip_box_remain
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&mut BMFFBox<T>::bytes_left'
    - '&mut BMFFBox<T>::get_header'
    - skip
    linkageType: ''
    returnType: Result
    signature: 'pub fn skip_box_remain<T: Read>(src: &mut BMFFBox<T>) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2360
    functionName: AvifImageType::has_primary
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: fn has_primary(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2362
    functionDepth: 0
    functionLinenumber: 2362
    functionLinenumberEnd: 2367
    functionName: AvifImageType::has_sequence
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: fn has_sequence(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OffsetReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2374,1
    - Dst: BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2375,1
    - Dst: UnsupportedFeatures::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2377,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2380,1
    - Dst: read_ftyp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2382,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2384,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2385,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2386,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2387,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2399,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2404,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2411,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2419,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2422,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2427,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2430,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2435,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2439,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2445,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2446,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2448,1
    - Dst: read_avif_meta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2448,1
    - Dst: has_sequence
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2454,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2455,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2456,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2458,1
    - Dst: read_moov
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2458,1
    - Dst: offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2461,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2465,1
    - Dst: fallible_collections::try_read_up_to
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2467,1
    - Dst: get_mut
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2468,1
    - Dst: set_limit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2474,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2480,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2482,1
    - Dst: DataBox::from_mdat
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2482,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2485,1
    - Dst: bytes_left
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2487,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2494,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2504,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2504,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2507,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2507,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2507,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2507,1
    - Dst: is_alpha
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2517,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2518,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2519,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2519,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2520,1
    - Dst: is_some_and
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2523,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2524,1
    - Dst: any
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2524,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2543,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2545,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2556,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2557,1
    - Dst: AvifItem::with_inline_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2557,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2569,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2573,1
    - Dst: location
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2575,1
    - Dst: extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2586,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2590,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2592,1
    - Dst: Mp4parseStatus::iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2600,1
    - Dst: find_and_add_to_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2601,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2608,1
    - Dst: find_and_add_to_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2615,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2617,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2621,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2625,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2635,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2635,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2636,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2636,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2638,1
    - Dst: has_primary
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2644,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2644,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2645,1
    - Dst: has_sequence
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2653,1
    - Dst: None::is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2653,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2654,1
    - Dst: is_some_and
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2662,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2663,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2663,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2665,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2671,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2671,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2672,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2673,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2673,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2673,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2679,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2679,1
    - Dst: missing_property_for
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2681,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2682,1
    - Dst: missing_property_for
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2688,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2693,1
    - Dst: missing_property_for
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2703,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2704,1
    - Dst: Self::insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2712,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2715,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2717,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2718,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2724,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2730,1
    - Dst: check_image_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2733,1
    - Dst: check_image_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2734,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2736,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 473
    argCount: 2
    argNames:
    - f
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 2748
      start: 2371
    functionDepth: 8
    functionLinenumber: 2371
    functionLinenumberEnd: 2748
    functionName: read_avif
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 11
    functionsReached:
    - DataBox::from_mdat
    - len
    - Mp4parseStatus::iter
    - offset
    - get_mut
    - Error::from
    - Ok
    - Mp4parseStatus::push
    - as_ref
    - missing_property_for
    - and_then
    - skip_box_content
    - is_alpha
    - Self::insert
    - Some
    - read_into_try_vec
    - SampleToChunkIterator::next_box
    - Err
    - TryVec::new
    - is_some
    - OffsetReader::new
    - read_avif_meta
    - AvifItem::with_inline_data
    - None::is_none
    - find
    - read_moov
    - bytes_left
    - read_ftyp
    - into
    - extend_from_slice
    - check_image_item
    - find_and_add_to_item
    - iter
    - UnsupportedFeatures::new
    - is_some_and
    - TryVec::with_capacity
    - contains
    - ok_or_else
    - BoxIter::new
    - None::is_some
    - location
    - set_limit
    - get
    - filter
    - map
    - map_or
    - is_none
    - fallible_collections::try_read_up_to
    - has_sequence
    - check_parser_state
    - any
    - next
    - has_primary
    - fail_with_status_if
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_avif<T: Read>(f: &mut T, strictness: ParseStrictness)
      -> Result<AvifContext>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2759,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2762,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2762,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2773,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2774,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2778,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2787,1
    - Dst: read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2789,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2791,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2799,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2800,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2802,1
    - Dst: read_iinf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2802,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2805,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2806,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2808,1
    - Dst: read_iloc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2808,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2811,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2812,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2814,1
    - Dst: read_pitm
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2814,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2817,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2818,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2820,1
    - Dst: read_iref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2820,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2823,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2824,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2826,1
    - Dst: read_iprp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2826,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2834,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2835,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2837,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2838,1
    - Dst: DataBox::from_idat
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2838,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2840,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2843,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2846,1
    - Dst: None::unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2847,1
    - Dst: None::unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2848,1
    - Dst: None::unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2850,1
    - Dst: None::unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2851,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 149
    argCount: 3
    argNames:
    - src
    - strictness
    - unsupported_features
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    - '&mut UnsupportedFeatures'
    constantsTouched: []
    func_position:
      end: 2854
      start: 2754
    functionDepth: 4
    functionLinenumber: 2754
    functionLinenumberEnd: 2854
    functionName: read_avif_meta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - None::unwrap_or_default
    - Ok
    - skip_box_content
    - Some
    - read_into_try_vec
    - SampleToChunkIterator::next_box
    - Err
    - read_iinf
    - into
    - read_iref
    - read_iprp
    - Error::Unsupported
    - None::is_some
    - read_pitm
    - DataBox::from_idat
    - '&mut BMFFBox<T>::box_iter'
    - check_parser_state
    - read_iloc
    - read_fullbox_version_no_flags
    - read_hdlr
    - fail_with_status_if
    linkageType: ''
    returnType: Result
    signature: 'fn read_avif_meta<T: Read + Offset>(src: &mut BMFFBox<T>,strictness:
      ParseStrictness,unsupported_features: &mut UnsupportedFeatures,) -> Result<AvifMeta>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2859,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2861,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2862,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2862,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2863,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2864,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2864,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2867,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2868
      start: 2858
    functionDepth: 3
    functionLinenumber: 2858
    functionLinenumberEnd: 2868
    functionName: read_pitm
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - Err
    - into
    - Error::Unsupported
    - read_fullbox_version_no_flags
    - Ok
    - ItemId
    - be_u16
    linkageType: ''
    returnType: Result
    signature: 'fn read_pitm<T: Read>(src: &mut BMFFBox<T>) -> Result<ItemId>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2877,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2881,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2881,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2885,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2885,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2887,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2887,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2889,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2891,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2892,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2894,1
    - Dst: read_infe
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2897,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2898,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2901,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2904,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - src
    - strictness
    - unsupported_features
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    - '&mut UnsupportedFeatures'
    constantsTouched: []
    func_position:
      end: 2905
      start: 2872
    functionDepth: 4
    functionLinenumber: 2872
    functionLinenumberEnd: 2905
    functionName: read_iinf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - push
    - Err
    - SampleToChunkIterator::next_box
    - to_usize
    - read_infe
    - '&mut BMFFBox<T>::box_iter'
    - into
    - check_parser_state
    - Error::Unsupported
    - read_fullbox_version_no_flags
    - Ok
    - be_u16
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_iinf<T: Read>(src: &mut BMFFBox<T>,strictness: ParseStrictness,unsupported_features:
      &mut UnsupportedFeatures,) -> Result<TryVec<ItemInfoEntry>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::str::from_utf8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2913,1
    - Dst: to_be_bytes
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2913,1
    - Dst: write_str
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut std::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 2917
      start: 2912
    functionDepth: 0
    functionLinenumber: 2912
    functionLinenumberEnd: 2917
    functionName: U32BE::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - to_be_bytes
    - std::str::from_utf8
    - write_str
    linkageType: ''
    returnType: std::fmt::Result
    signature: 'fn fmt(&self, f: &mut std::fmt::Formatter<''_>) -> std::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2927,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2933,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2940,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2941,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2941,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2942,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2943,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2943,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2946,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2948,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2952,1
    - Dst: '&mut UnsupportedFeatures::insert'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2955,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2956,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2958,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2958,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - src
    - strictness
    - unsupported_features
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    - '&mut UnsupportedFeatures'
    constantsTouched: []
    func_position:
      end: 2960
      start: 2922
    functionDepth: 3
    functionLinenumber: 2922
    functionLinenumberEnd: 2960
    functionName: read_infe
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut UnsupportedFeatures::insert'
    - be_u32
    - Some
    - Err
    - into
    - skip_box_remain
    - Error::Unsupported
    - read_fullbox_extra
    - Ok
    - ItemId
    - fail_with_status_if
    - be_u16
    linkageType: ''
    returnType: Result
    signature: 'fn read_infe<T: Read>(src: &mut BMFFBox<T>,strictness: ParseStrictness,unsupported_features:
      &mut UnsupportedFeatures,) -> Result<Option<ItemInfoEntry>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2965,1
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2966,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2968,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2968,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2971,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2972,1
    - Dst: ItemId::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2974,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2975,1
    - Dst: Mp4parseStatus::reserve
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2976,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2976,1
    - Dst: ItemId::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2978,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2980,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2982,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2983,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2988,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2993,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2994
      start: 2964
    functionDepth: 5
    functionLinenumber: 2964
    functionLinenumberEnd: 2994
    functionName: read_iref
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Err
    - SampleToChunkIterator::next_box
    - TryVec::new
    - to_usize
    - '&mut BMFFBox<T>::box_iter'
    - into
    - check_parser_state
    - Error::Unsupported
    - read_fullbox_version_no_flags
    - ItemId::read
    - Mp4parseStatus::reserve
    - Ok
    - be_u16
    - Mp4parseStatus::push
    linkageType: ''
    returnType: Result
    signature: 'fn read_iref<T: Read>(src: &mut BMFFBox<T>) -> Result<TryVec<SingleItemTypeReferenceBox>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3013,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3015,1
    - Dst: read_ipco
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3017,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3019,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3020,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3023,1
    - Dst: TryVec::<ItemPropertyAssociationEntry>::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3024,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3025,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3027,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3029,1
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3032,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3033,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3034,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3039,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3040,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3045,1
    - Dst: read_ipma
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3046,1
    - Dst: Mp4parseStatus::contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3047,1
    - Dst: Mp4parseStatus::iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3053,1
    - Dst: SampleToChunkIterator::find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3053,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3063,1
    - Dst: TryHashMap::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3075,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3078,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3080,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3088,1
    - Dst: Feature::try_from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3091,1
    - Dst: Result::supported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3094,1
    - Dst: '&mut UnsupportedFeatures::insert'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3097,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3107,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3132,1
    - Dst: Result::colour_type
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3142,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3143,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3151,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3156,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3165,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3180,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3195,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3207,1
    - Dst: position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3207,1
    - Dst: BoxType::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3209,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3217,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3229,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3236,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3242,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3245,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3254,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 235
    argCount: 4
    argNames:
    - src
    - brand
    - strictness
    - unsupported_features
    argTypes:
    - '&mut BMFFBox<T>'
    - FourCC
    - ParseStrictness
    - '&mut UnsupportedFeatures'
    constantsTouched: []
    func_position:
      end: 3255
      start: 3007
    functionDepth: 9
    functionLinenumber: 3007
    functionLinenumberEnd: 3255
    functionName: read_iprp
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut UnsupportedFeatures::insert'
    - len
    - Mp4parseStatus::iter
    - Ok
    - Mp4parseStatus::push
    - position
    - insert
    - push
    - Some
    - SampleToChunkIterator::next_box
    - Err
    - TryVec::new
    - TryHashMap::with_capacity
    - SampleToChunkIterator::find
    - PropertyIndex
    - TryVec::<ItemPropertyAssociationEntry>::new
    - into
    - BoxType::from
    - Feature::try_from
    - iter
    - TryVec::with_capacity
    - read_ipco
    - contains
    - Result::supported
    - read_ipma
    - Mp4parseStatus::contains
    - get
    - Result::colour_type
    - '&mut BMFFBox<T>::box_iter'
    - check_parser_state
    - read_fullbox_extra
    - fail_with_status_if
    linkageType: ''
    returnType: Result
    signature: 'fn read_iprp<T: Read>(src: &mut BMFFBox<T>,brand: FourCC,strictness:
      ParseStrictness,unsupported_features: &mut UnsupportedFeatures,) -> Result<ItemPropertiesBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - item_property
    argTypes:
    - '&ItemProperty'
    constantsTouched: []
    func_position:
      end: 3295
      start: 3279
    functionDepth: 0
    functionLinenumber: 3279
    functionLinenumberEnd: 3295
    functionName: BoxType::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(item_property: &ItemProperty) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ItemPropertiesBox::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3337,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3339,1
    - Dst: '&str::as_bytes'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - item_id
    argTypes:
    - ItemId
    constantsTouched: []
    func_position:
      end: 3348
      start: 3336
    functionDepth: 7
    functionLinenumber: 3336
    functionLinenumberEnd: 3348
    functionName: ItemPropertiesBox::is_alpha
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&str::as_bytes'
    - ItemPropertiesBox::get
    - as_slice
    linkageType: ''
    returnType: bool
    signature: 'fn is_alpha(&self, item_id: ItemId) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ItemPropertiesBox::get_multiple
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3351,1
    - Dst: BoxType::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3352,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3351,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3355,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3356,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3356,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - item_id
    - property_type
    argTypes:
    - ItemId
    - BoxType
    constantsTouched: []
    func_position:
      end: 3363
      start: 3350
    functionDepth: 7
    functionLinenumber: 3350
    functionLinenumberEnd: 3363
    functionName: ItemPropertiesBox::get
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - ItemPropertiesBox::get_multiple
    - into
    - BoxType::from
    - as_slice
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn get(&self, item_id: ItemId, property_type: BoxType) -> Result<Option<&ItemProperty>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3370,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3374,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3376,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - item_id
    - filter
    argTypes:
    - ItemId
    - impl Fn(&ItemProperty) -> bool
    constantsTouched: []
    func_position:
      end: 3384
      start: 3365
    functionDepth: 6
    functionLinenumber: 3365
    functionLinenumberEnd: 3384
    functionName: ItemPropertiesBox::get_multiple
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - Mp4parseStatus::push
    - get
    - TryVec::new
    linkageType: ''
    returnType: Result
    signature: 'fn get_multiple(&self,item_id: ItemId,filter: impl Fn(&ItemProperty)
      -> bool,) -> Result<TryVec<&ItemProperty>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3414
      start: 3394
    functionDepth: 0
    functionLinenumber: 3394
    functionLinenumberEnd: 3414
    functionName: impl_bounded
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3418
    functionDepth: 0
    functionLinenumber: 3418
    functionLinenumberEnd: 3438
    functionName: impl_bounded_product
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: impl_mul::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:14,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:14,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:15,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:15,1
    - Dst: Self::Output::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:16,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:16,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3481
      start: 3461
    functionDepth: 6
    functionLinenumber: 3461
    functionLinenumberEnd: 3481
    functionName: impl_mul
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - get
    - Self::Output::new
    - expect
    - into
    - impl_mul::get
    - checked_mul
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: U32MulU8::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3492,1
    - Dst: U32MulU16::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3493,1
    - Dst: Self::Output::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3494,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3494,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - U32MulU16
    constantsTouched: []
    func_position:
      end: 3495
      start: 3490
    functionDepth: 6
    functionLinenumber: 3490
    functionLinenumberEnd: 3495
    functionName: U32MulU8::add
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::Output::new
    - checked_add
    - expect
    - U32MulU16::get
    - U32MulU8::get
    linkageType: ''
    returnType: Self::Output
    signature: 'fn add(self, rhs: U32MulU16) -> Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::num::NonZeroU8::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3515,1
    - Dst: Mp4parseStatus::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3515,1
    - Dst: u64::checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3520,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3520,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3524,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3531,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3532,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3535,1
    - Dst: std::num::NonZeroU8::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3535,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3537,1
    - Dst: Result::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 4
    argNames:
    - version
    - bytes_left
    - entry_count
    - num_association_bytes
    argTypes:
    - u8
    - u64
    - U32
    - std::num::NonZeroU8
    constantsTouched: []
    func_position:
      end: 3538
      start: 3508
    functionDepth: 6
    functionLinenumber: 3508
    functionLinenumberEnd: 3538
    functionName: calculate_ipma_total_associations
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - get
    - std::num::NonZeroU8::new
    - Result::try_into
    - u64::from
    - std::num::NonZeroU8::get
    - into
    - u64::checked_sub
    - Ok
    - Mp4parseStatus::unwrap
    linkageType: ''
    returnType: Result
    signature: 'fn calculate_ipma_total_associations(version: u8,bytes_left: u64,entry_count:
      U32,num_association_bytes: std::num::NonZeroU8,) -> Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3549,1
    - Dst: std::num::NonZeroU8::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3551,1
    - Dst: Mp4parseStatus::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3551,1
    - Dst: calculate_ipma_total_associations
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3553,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3555,1
    - Dst: U32::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3556,1
    - Dst: TryVec::<ItemPropertyAssociationEntry>::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3564,1
    - Dst: ItemId::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3569,1
    - Dst: last
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3571,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3574,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3576,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3580,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3581,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3581,1
    - Dst: '&mut BMFFBox<T>::take'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3583,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3584,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3584,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3583,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3586,1
    - Dst: Mp4parseStatus::as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3586,1
    - Dst: Mp4parseStatus::read_bool
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3587,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3589,1
    - Dst: Mp4parseStatus::read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3589,1
    - Dst: Mp4parseStatus::remaining
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3589,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3589,1
    - Dst: Result::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3590,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3596,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3602,1
    - Dst: last
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3608,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3610,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3610,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3611,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3621,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 105
    argCount: 4
    argNames:
    - src
    - strictness
    - version
    - flags
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 3622
      start: 3543
    functionDepth: 7
    functionLinenumber: 3543
    functionLinenumberEnd: 3622
    functionName: read_ipma
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - TryVec::<ItemPropertyAssociationEntry>::with_capacity
    - Mp4parseStatus::read_u16
    - std::num::NonZeroU8::new
    - U32::new
    - Ok
    - read_into_try_vec
    - push
    - last
    - PropertyIndex
    - into
    - BitReader::new
    - Result::push
    - Mp4parseStatus::as_slice
    - TryVec::with_capacity
    - '&mut BMFFBox<T>::take'
    - '&mut BMFFBox<T>::bytes_left'
    - try_into
    - ItemId
    - Mp4parseStatus::unwrap
    - calculate_ipma_total_associations
    - be_u32
    - get
    - to_usize
    - check_parser_state
    - '&mut BMFFBox<T>::read_u8'
    - Mp4parseStatus::remaining
    - ItemId::read
    - Mp4parseStatus::read_bool
    - fail_with_status_if
    linkageType: ''
    returnType: Result
    signature: 'fn read_ipma<T: Read>(src: &mut BMFFBox<T>,strictness: ParseStrictness,version:
      u8,flags: u32,) -> Result<TryVec<ItemPropertyAssociationEntry>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryHashMap::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3631,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3633,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3634,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3635,1
    - Dst: ItemProperty::AuxiliaryType
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3637,1
    - Dst: read_auxc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3637,1
    - Dst: ItemProperty::AV1Config
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3638,1
    - Dst: read_av1c
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3638,1
    - Dst: read_colr
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3639,1
    - Dst: ItemProperty::Colour
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3640,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3643,1
    - Dst: ItemProperty::Mirroring
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3646,1
    - Dst: read_imir
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3646,1
    - Dst: ItemProperty::Rotation
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3647,1
    - Dst: read_irot
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3647,1
    - Dst: ItemProperty::ImageSpatialExtents
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3649,1
    - Dst: read_ispe
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3649,1
    - Dst: ItemProperty::PixelAspectRatio
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3651,1
    - Dst: read_pasp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3651,1
    - Dst: ItemProperty::Channels
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3652,1
    - Dst: read_pixi
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3652,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3657,1
    - Dst: ItemProperty::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3665,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3672,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3674,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3675,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3675,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3678,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3681,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3684,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 3685
      start: 3627
    functionDepth: 4
    functionLinenumber: 3627
    functionLinenumberEnd: 3685
    functionName: read_ipco
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - ItemProperty::ImageSpatialExtents
    - read_auxc
    - Error::from
    - read_pasp
    - Ok
    - insert
    - SampleToChunkIterator::next_box
    - ItemProperty::Colour
    - TryHashMap::with_capacity
    - read_ispe
    - PropertyIndex
    - into
    - ItemProperty::AuxiliaryType
    - read_imir
    - read_pixi
    - ItemProperty::Unsupported
    - ItemProperty::Rotation
    - ItemProperty::Channels
    - ok_or_else
    - ItemProperty::AV1Config
    - read_colr
    - ItemProperty::Mirroring
    - checked_add
    - '&mut BMFFBox<T>::box_iter'
    - skip_box_remain
    - read_av1c
    - read_irot
    - check_parser_state
    - ItemProperty::PixelAspectRatio
    linkageType: ''
    returnType: Result
    signature: 'fn read_ipco<T: Read>(src: &mut BMFFBox<T>,strictness: ParseStrictness,)
      -> Result<TryHashMap<PropertyIndex, ItemProperty>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3698,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3699,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3699,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3702,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3703,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3709
      start: 3697
    functionDepth: 3
    functionLinenumber: 3697
    functionLinenumberEnd: 3709
    functionName: read_ispe
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - Err
    - Error::Unsupported
    - read_fullbox_version_no_flags
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn read_ispe<T: Read>(src: &mut BMFFBox<T>) -> Result<ImageSpatialExtentsProperty>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3723,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3724,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3730
      start: 3722
    functionDepth: 1
    functionLinenumber: 3722
    functionLinenumberEnd: 3730
    functionName: read_pasp
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - be_u32
    linkageType: ''
    returnType: Result
    signature: 'fn read_pasp<T: Read>(src: &mut BMFFBox<T>) -> Result<PixelAspectRatio>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1397,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1398,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1398,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1398,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1398,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1398,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1398,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1398,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1398,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1398,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1398,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1412,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1413,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1413,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1413,1
    - Dst: super::read_mdcv
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1418,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1394
    functionDepth: 4
    functionLinenumber: 1394
    functionLinenumberEnd: 1425
    functionName: read_mdcv
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_mdcv
    - make_box
    - B16
    - B32
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_mdcv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1429,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1429,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1429,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1430,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1431,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1431,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1431,1
    - Dst: super::read_clli
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1433,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1428
    functionDepth: 4
    functionLinenumber: 1428
    functionLinenumberEnd: 1436
    functionName: read_clli
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached:
    - super::read_clli
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - make_box
    - B16
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_clli()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3770,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3772,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3772,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3775,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3776,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3776,1
    - Dst: '&mut BMFFBox<T>::try_read_to_end'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3777,1
    - Dst: u8::try_from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3779,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3780,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3783,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3784,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3785
      start: 3769
    functionDepth: 3
    functionLinenumber: 3769
    functionLinenumberEnd: 3785
    functionName: read_pixi
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Err
    - to_usize
    - into
    - check_parser_state
    - '&mut BMFFBox<T>::read_u8'
    - Error::Unsupported
    - '&mut BMFFBox<T>::try_read_to_end'
    - read_fullbox_version_no_flags
    - u8::try_from
    - Ok
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_pixi<T: Read>(src: &mut BMFFBox<T>) -> Result<PixelInformation>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3811,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3811,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 3814
      start: 3810
    functionDepth: 1
    functionLinenumber: 3810
    functionLinenumberEnd: 3814
    functionName: IccColourInformation::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - field
    - debug_struct
    - finish
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3827,1
    - Dst: FourCC::clone
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3830
      start: 3825
    functionDepth: 1
    functionLinenumber: 3825
    functionLinenumberEnd: 3830
    functionName: ColourInformation::colour_type
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - FourCC::from
    - FourCC::clone
    linkageType: ''
    returnType: FourCC
    signature: fn colour_type(&self) -> FourCC
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3844,1
    - Dst: to_be_bytes
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3844,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3849,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3849,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3850,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3850,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3851,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3851,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3852,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3853,1
    - Dst: Mp4parseStatus::read_bool
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3854,1
    - Dst: Mp4parseStatus::remaining
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3855,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3855,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3861,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3863,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3864,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3870,1
    - Dst: ParsedColourInformation::Supported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3870,1
    - Dst: ColourInformation::Nclx
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3870,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3879,1
    - Dst: ParsedColourInformation::Supported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3879,1
    - Dst: ColourInformation::Icc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3879,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3881,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3883,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3886,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3888,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3889,1
    - Dst: ParsedColourInformation::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3889,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 3892
      start: 3840
    functionDepth: 5
    functionLinenumber: 3840
    functionLinenumberEnd: 3892
    functionName: read_colr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - to_be_bytes
    - be_u32
    - Mp4parseStatus::read_u8
    - ParsedColourInformation::Supported
    - FourCC::from
    - '&mut BMFFBox<T>::read_into_try_vec'
    - into
    - try_into
    - ColourInformation::Nclx
    - ColourInformation::Icc
    - Mp4parseStatus::remaining
    - skip_box_remain
    - Mp4parseStatus::read_bool
    - BitReader::new
    - Ok
    - be_u16
    - ParsedColourInformation::Unsupported
    - fail_with_status_if
    linkageType: ''
    returnType: Result
    signature: 'fn read_colr<T: Read>(src: &mut BMFFBox<T>,strictness: ParseStrictness,)
      -> Result<ParsedColourInformation>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3913,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3914,1
    - Dst: Result::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3915,1
    - Dst: Result::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3916,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3924,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3927
      start: 3912
    functionDepth: 5
    functionLinenumber: 3912
    functionLinenumberEnd: 3927
    functionName: read_irot
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BMFFBox<T>::read_into_try_vec'
    - check_parser_state
    - BitReader::new
    - Ok
    - Result::read_u8
    linkageType: ''
    returnType: Result
    signature: 'fn read_irot<T: Read>(src: &mut BMFFBox<T>) -> Result<ImageRotation>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3962,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3963,1
    - Dst: Result::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3964,1
    - Dst: Result::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3965,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3971,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3973,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3974
      start: 3961
    functionDepth: 5
    functionLinenumber: 3961
    functionLinenumberEnd: 3974
    functionName: read_imir
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BMFFBox<T>::read_into_try_vec'
    - check_parser_state
    - BitReader::new
    - Ok
    - Result::read_u8
    linkageType: ''
    returnType: Result
    signature: 'fn read_imir<T: Read>(src: &mut BMFFBox<T>) -> Result<ImageMirror>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3986,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3988,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3988,1
    - Dst: TryString::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3991,1
    - Dst: '&mut BMFFBox<T>::try_read_to_end'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3992,1
    - Dst: Mp4parseStatus::iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3995,1
    - Dst: SampleToChunkIterator::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3995,1
    - Dst: Mp4parseStatus::as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3996,1
    - Dst: '&''a [u8]::split_at'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3996,1
    - Dst: Self::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3997,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3998,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4001,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4004,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4008
      start: 3985
    functionDepth: 8
    functionLinenumber: 3985
    functionLinenumberEnd: 4008
    functionName: read_auxc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Mp4parseStatus::iter
    - Err
    - TryVec::new
    - try_into
    - TryString::new
    - Error::Unsupported
    - '&mut BMFFBox<T>::try_read_to_end'
    - read_fullbox_version_no_flags
    - Self::try_into
    - Ok
    - SampleToChunkIterator::position
    - '&''a [u8]::split_at'
    - Mp4parseStatus::as_slice
    linkageType: ''
    returnType: Result
    signature: 'fn read_auxc<T: Read>(src: &mut BMFFBox<T>) -> Result<AuxiliaryTypeProperty>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4013,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4013,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4015,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4016,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4018,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4018,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4019,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4019,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4020,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4020,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4023,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4023,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4023,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4025,1
    - Dst: read_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4031,1
    - Dst: read_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4032,1
    - Dst: TryHashMap::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4035,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4035,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4038,1
    - Dst: read_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4039,1
    - Dst: read_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4040,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4051,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4052,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4056,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4061,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4063,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4063,1
    - Dst: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4067,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4067,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4068,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4071,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4079,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4082,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4082,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4090,1
    - Dst: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4090,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4090,1
    - Dst: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4098,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4098,1
    - Dst: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4099,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4099,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4099,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4103,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4103,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4105,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4115,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4123,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4123,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4124,1
    - Dst: remaining
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4128,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4129,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4131,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 174
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4133
      start: 4012
    functionDepth: 5
    functionLinenumber: 4012
    functionLinenumberEnd: 4133
    functionName: read_iloc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - read_u32
    - Error::from
    - Ok
    - insert
    - Some
    - push
    - Err
    - is_some
    - remaining
    - TryHashMap::with_capacity
    - read_u16
    - into
    - read_u64
    - BitReader::new
    - TryVec::with_capacity
    - ok_or_else
    - as_bits
    - try_into
    - Error::Unsupported
    - ItemId
    - read_u8
    - to_usize
    - checked_add
    - '&mut BMFFBox<T>::read_into_try_vec'
    - read_fullbox_version_no_flags
    linkageType: ''
    returnType: Result
    signature: 'fn read_iloc<T: Read>(src: &mut BMFFBox<T>) -> Result<TryHashMap<ItemId,
      ItemLocationBoxItem>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4141,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4142,1
    - Dst: read_ftyp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4160,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4165,1
    - Dst: read_moov
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4165,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4170,1
    - Dst: read_meta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4170,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4173,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4175,1
    - Dst: '&MediaContext::is_some'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4176,1
    - Dst: '&MediaContext::ok_or'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - f
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4192
      start: 4136
    functionDepth: 4
    functionLinenumber: 4136
    functionLinenumberEnd: 4192
    functionName: read_mp4
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 18
    functionsReached:
    - Some
    - SampleToChunkIterator::next_box
    - '&MediaContext::is_some'
    - BoxIter::new
    - read_moov
    - read_ftyp
    - check_parser_state
    - '&MediaContext::ok_or'
    - read_meta
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_mp4<T: Read>(f: &mut T, strictness: ParseStrictness) ->
      Result<MediaContext>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4197,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4200,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4202,1
    - Dst: MediaTimeScale
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4202,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4202,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4204
      start: 4196
    functionDepth: 1
    functionLinenumber: 4196
    functionLinenumberEnd: 4204
    functionName: parse_mvhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - MediaTimeScale
    - u64::from
    - into
    - Ok
    - read_mvhd
    linkageType: ''
    returnType: Result
    signature: 'fn parse_mvhd<T: Read>(f: &mut BMFFBox<T>) -> Result<Option<MediaTimeScale>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&MediaContext::unwrap_or_default'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4224,1
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4226,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4227,1
    - Dst: parse_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4230,1
    - Dst: Track::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4233,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4233,1
    - Dst: read_trak
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4234,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4235,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4238,1
    - Dst: read_mvex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4238,1
    - Dst: read_pssh
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4242,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4244,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4247,1
    - Dst: read_udta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4247,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4252,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4255,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4257,1
    - Dst: HashSet::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4262,1
    - Dst: Mp4parseStatus::insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4265,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4267,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4267,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4276,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 84
    argCount: 3
    argNames:
    - f
    - context
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - Option<MediaContext>
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4285
      start: 4211
    functionDepth: 4
    functionLinenumber: 4211
    functionLinenumberEnd: 4285
    functionName: read_moov
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - len
    - Error::from
    - Ok
    - skip_box_content
    - push
    - Some
    - SampleToChunkIterator::next_box
    - Err
    - read_mvex
    - Track::new
    - parse_mvhd
    - box_iter
    - Mp4parseStatus::insert
    - read_pssh
    - '&MediaContext::unwrap_or_default'
    - HashSet::new
    - read_trak
    - read_udta
    - skip_box_remain
    - check_parser_state
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_moov<T: Read>(f: &mut BMFFBox<T>,context: Option<MediaContext>,strictness:
      ParseStrictness,) -> Result<MediaContext>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4288,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4289,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4291,1
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4293,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4295,1
    - Dst: TryVec::<ByteData>::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4297,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4300,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4300,1
    - Dst: Mp4parseStatus::reserve
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4301,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4302,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4302,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4304,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4307,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4307,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4308,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4312,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4313,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4313,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4318,1
    - Dst: write_be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4319,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4319,1
    - Dst: Mp4parseStatus::extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4320,1
    - Dst: Mp4parseStatus::append
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4321,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4323,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4329
      start: 4287
    functionDepth: 5
    functionLinenumber: 4287
    functionLinenumberEnd: 4329
    functionName: read_pssh
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Error::from
    - read_buf
    - Ok
    - Mp4parseStatus::push
    - TryVec::new
    - into
    - checked_mul
    - Mp4parseStatus::extend_from_slice
    - ok_or_else
    - '&mut BMFFBox<T>::bytes_left'
    - try_into
    - Mp4parseStatus::reserve
    - Mp4parseStatus::append
    - TryVec::<ByteData>::new
    - write_be_u32
    - be_u32
    - to_usize
    - Cursor::new
    - read_fullbox_extra
    - to_u64
    linkageType: ''
    returnType: Result
    signature: 'fn read_pssh<T: Read>(src: &mut BMFFBox<T>) -> Result<ProtectionSystemSpecificHeaderBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4334,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4336,1
    - Dst: read_mehd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4339,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4340,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4342,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4346
      start: 4333
    functionDepth: 4
    functionLinenumber: 4333
    functionLinenumberEnd: 4346
    functionName: read_mvex
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - SampleToChunkIterator::next_box
    - '&mut BMFFBox<T>::box_iter'
    - Ok
    - read_mehd
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'fn read_mvex<T: Read>(src: &mut BMFFBox<T>) -> Result<MovieExtendsBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4349,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4351,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4352,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4352,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4353,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4355,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4356
      start: 4348
    functionDepth: 2
    functionLinenumber: 4348
    functionLinenumberEnd: 4356
    functionName: read_mehd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - MediaScaledTime
    - u64::from
    - into
    - read_fullbox_extra
    - Ok
    - be_u64
    linkageType: ''
    returnType: Result
    signature: 'fn read_mehd<T: Read>(src: &mut BMFFBox<T>) -> Result<MediaScaledTime>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4365,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4366,1
    - Dst: read_tkhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4369,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4370,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4371,1
    - Dst: Result::clone
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4371,1
    - Dst: read_edts
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4374,1
    - Dst: read_mdia
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4375,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4376,1
    - Dst: read_tref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4376,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4377,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4379,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4381,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4382
      start: 4360
    functionDepth: 4
    functionLinenumber: 4360
    functionLinenumberEnd: 4382
    functionName: read_trak
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - SampleToChunkIterator::next_box
    - Result::clone
    - read_edts
    - box_iter
    - read_tkhd
    - check_parser_state
    - Ok
    - read_mdia
    - read_tref
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'fn read_trak<T: Read>(f: &mut BMFFBox<T>,track: &mut Track,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4385,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4386,1
    - Dst: read_elst
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4389,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4390,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4391,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4398,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4405,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4405,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4410,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4410,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4411,1
    - Dst: TrackScaledTime::<u64>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4411,1
    - Dst: std::cmp::max
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4412,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4415,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4420,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4422,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4424,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 91
    argCount: 2
    argNames:
    - f
    - track
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    constantsTouched: []
    func_position:
      end: 4425
      start: 4384
    functionDepth: 4
    functionLinenumber: 4384
    functionLinenumberEnd: 4425
    functionName: read_edts
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - TrackScaledTime::<u64>
    - Some
    - len
    - SampleToChunkIterator::next_box
    - std::cmp::max
    - is_empty
    - MediaScaledTime
    - box_iter
    - check_parser_state
    - Ok
    - read_elst
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'fn read_edts<T: Read>(f: &mut BMFFBox<T>, track: &mut Track) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4436,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4439,1
    - Dst: TrackScaledTime::<u64>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4439,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4442,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4444,1
    - Dst: TrackTimeScale::<u64>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4444,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4444,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - f
    - track
    argTypes:
    - '&mut BMFFBox<T>'
    - '&Track'
    constantsTouched: []
    func_position:
      end: 4446
      start: 4428
    functionDepth: 1
    functionLinenumber: 4428
    functionLinenumberEnd: 4446
    functionName: parse_mdhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - TrackScaledTime::<u64>
    - Some
    - read_mdhd
    - u64::from
    - TrackTimeScale::<u64>
    - into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn parse_mdhd<T: Read>(f: &mut BMFFBox<T>,track: &Track,) -> Result<(MediaHeaderBox,Option<TrackScaledTime<u64>>,Option<TrackTimeScale<u64>>,)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4453,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4454,1
    - Dst: parse_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4457,1
    - Dst: read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4463,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4465,1
    - Dst: read_minf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4475,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4476,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4478,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4480,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4481
      start: 4448
    functionDepth: 4
    functionLinenumber: 4448
    functionLinenumberEnd: 4481
    functionName: read_mdia
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - read_minf
    - parse_mdhd
    - box_iter
    - check_parser_state
    - Ok
    - as_ref
    - read_hdlr
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'fn read_mdia<T: Read>(f: &mut BMFFBox<T>,track: &mut Track,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4485,1
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4486,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4487,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4490,1
    - Dst: TrackReferenceEntry::Auxiliary
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4490,1
    - Dst: read_tref_auxl
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4490,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4492,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4494,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4497
      start: 4483
    functionDepth: 4
    functionLinenumber: 4483
    functionLinenumberEnd: 4497
    functionName: read_tref
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - push
    - SampleToChunkIterator::next_box
    - read_tref_auxl
    - box_iter
    - check_parser_state
    - skip_box_content
    - TrackReferenceEntry::Auxiliary
    - Ok
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_tref<T: Read>(f: &mut BMFFBox<T>) -> Result<TrackReferenceBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytes_left
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4500,1
    - Dst: std::mem::size_of::<u32>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4500,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4500,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4500,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4501,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4503,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4503,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4507
      start: 4499
    functionDepth: 2
    functionLinenumber: 4499
    functionLinenumberEnd: 4507
    functionName: read_tref_auxl
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - push
    - be_u32
    - to_u64
    - bytes_left
    - try_into
    - Ok
    - std::mem::size_of::<u32>
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_tref_auxl<T: Read>(f: &mut BMFFBox<T>) -> Result<TrackReference>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4514,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4515,1
    - Dst: read_stbl
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4517,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4518,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4520,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4523
      start: 4509
    functionDepth: 4
    functionLinenumber: 4509
    functionLinenumberEnd: 4523
    functionName: read_minf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - read_stbl
    - box_iter
    - check_parser_state
    - Ok
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'fn read_minf<T: Read>(f: &mut BMFFBox<T>,track: &mut Track,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4530,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4531,1
    - Dst: read_stsd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4534,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4536,1
    - Dst: read_stts
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4539,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4541,1
    - Dst: read_stsc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4544,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4546,1
    - Dst: read_stsz
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4549,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4551,1
    - Dst: read_stco
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4554,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4556,1
    - Dst: read_co64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4559,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4561,1
    - Dst: read_stss
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4564,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4566,1
    - Dst: read_ctts
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4569,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4571,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4573,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4575,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4577,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 81
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4578
      start: 4525
    functionDepth: 4
    functionLinenumber: 4525
    functionLinenumberEnd: 4578
    functionName: read_stbl
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - read_co64
    - SampleToChunkIterator::next_box
    - read_stsd
    - read_ctts
    - box_iter
    - check_parser_state
    - Ok
    - read_stco
    - read_stts
    - read_stsc
    - read_stsz
    - read_stss
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'fn read_stbl<T: Read>(f: &mut BMFFBox<T>,track: &mut Track,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:186,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:186,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:187,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:187,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:187,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:187,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:192,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:193,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:193,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:193,1
    - Dst: super::read_ftyp
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:196,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 202
    functionName: read_ftyp
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 3
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_ftyp
    - make_box
    - append_bytes
    - B32
    - Result::unwrap
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_ftyp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4605,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4609,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4613,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4615,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4617,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4619,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4621,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4625,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4631,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4634,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4635,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4639
      start: 4604
    functionDepth: 3
    functionLinenumber: 4604
    functionLinenumberEnd: 4639
    functionName: read_mvhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - skip
    - u64::from
    - into
    - skip_box_remain
    - read_fullbox_extra
    - Ok
    - be_u64
    linkageType: ''
    returnType: Result
    signature: 'fn read_mvhd<T: Read>(src: &mut BMFFBox<T>) -> Result<MovieHeaderBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4643,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4648,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4652,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4654,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4656,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4657,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4659,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4660,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4660,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4664,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4667,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4668,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4669,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4670,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4671,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4672,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4673,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4674,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4675,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4678,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4679,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4680,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4688
      start: 4642
    functionDepth: 2
    functionLinenumber: 4642
    functionLinenumberEnd: 4688
    functionName: read_tkhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - be_i32
    - skip
    - u64::from
    - into
    - read_fullbox_extra
    - Ok
    - be_u64
    linkageType: ''
    returnType: Result
    signature: 'fn read_tkhd<T: Read>(src: &mut BMFFBox<T>) -> Result<TrackHeaderBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4693,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4694,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4695,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4695,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4700,1
    - Dst: be_i64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4700,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4704,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4704,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4704,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4704,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4706,1
    - Dst: be_i16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4708,1
    - Dst: be_i16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4709,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4710,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4719,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4721,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4725
      start: 4692
    functionDepth: 3
    functionLinenumber: 4692
    functionLinenumberEnd: 4725
    functionName: read_elst
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - be_i32
    - push
    - to_usize
    - i64::from
    - u64::from
    - be_i16
    - into
    - skip_box_remain
    - read_fullbox_extra
    - Ok
    - be_u64
    - be_i64
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_elst<T: Read>(src: &mut BMFFBox<T>) -> Result<EditListBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4729,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4733,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4736,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4736,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4740,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4743,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4748,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4752,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4757,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4761,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4763,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4767
      start: 4728
    functionDepth: 2
    functionLinenumber: 4728
    functionLinenumberEnd: 4767
    functionName: read_mdhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - skip
    - u64::from
    - into
    - read_fullbox_extra
    - Ok
    - be_u64
    linkageType: ''
    returnType: Result
    signature: 'fn read_mdhd<T: Read>(src: &mut BMFFBox<T>) -> Result<MediaHeaderBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4772,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4773,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4774,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4774,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4776,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4776,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4776,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4780,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4782,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4783
      start: 4771
    functionDepth: 3
    functionLinenumber: 4771
    functionLinenumberEnd: 4783
    functionName: read_stco
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - push
    - be_u32
    - to_usize
    - into
    - skip_box_remain
    - read_fullbox_extra
    - Ok
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_stco<T: Read>(src: &mut BMFFBox<T>) -> Result<ChunkOffsetBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4788,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4789,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4790,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4790,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4792,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4792,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4796,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4798,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4799
      start: 4787
    functionDepth: 3
    functionLinenumber: 4787
    functionLinenumberEnd: 4799
    functionName: read_co64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - push
    - be_u32
    - to_usize
    - skip_box_remain
    - read_fullbox_extra
    - Ok
    - be_u64
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_co64<T: Read>(src: &mut BMFFBox<T>) -> Result<ChunkOffsetBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4804,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4805,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4806,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4806,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4808,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4808,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4812,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4814,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4815
      start: 4803
    functionDepth: 3
    functionLinenumber: 4803
    functionLinenumberEnd: 4815
    functionName: read_stss
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - push
    - be_u32
    - to_usize
    - skip_box_remain
    - read_fullbox_extra
    - Ok
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_stss<T: Read>(src: &mut BMFFBox<T>) -> Result<SyncSampleBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4820,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4821,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4822,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4822,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4824,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4825,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4826,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4827,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4835,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4837,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4838
      start: 4819
    functionDepth: 3
    functionLinenumber: 4819
    functionLinenumberEnd: 4838
    functionName: read_stsc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - push
    - be_u32
    - to_usize
    - skip_box_remain
    - read_fullbox_extra
    - Ok
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_stsc<T: Read>(src: &mut BMFFBox<T>) -> Result<SampleToChunkBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4846,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4848,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4850,1
    - Dst: is_none_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4850,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4852,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4852,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4854,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4857,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4857,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4864,1
    - Dst: TimeOffsetVersion::Version1
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4865,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4865,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4869,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4872,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4879,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4882,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4885,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4886
      start: 4842
    functionDepth: 2
    functionLinenumber: 4842
    functionLinenumberEnd: 4886
    functionName: read_ctts
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - be_i32
    - push
    - to_usize
    - '&mut BMFFBox<T>::bytes_left'
    - u64::from
    - into
    - checked_mul
    - check_parser_state
    - skip_box_remain
    - read_fullbox_extra
    - Ok
    - is_none_or
    - TimeOffsetVersion::Version1
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_ctts<T: Read>(src: &mut BMFFBox<T>,strictness: ParseStrictness,)
      -> Result<CompositionOffsetBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4891,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4892,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4893,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4894,1
    - Dst: Mp4parseStatus::reserve
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4896,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4896,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4898,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4898,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4903,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4905,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4909
      start: 4890
    functionDepth: 5
    functionLinenumber: 4890
    functionLinenumberEnd: 4909
    functionName: read_stsz
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - to_usize
    - TryVec::new
    - skip_box_remain
    - Mp4parseStatus::reserve
    - read_fullbox_extra
    - Ok
    - Mp4parseStatus::push
    linkageType: ''
    returnType: Result
    signature: 'fn read_stsz<T: Read>(src: &mut BMFFBox<T>) -> Result<SampleSizeBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4914,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4915,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4916,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4916,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4918,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4919,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4920,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4927,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4929,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4930
      start: 4913
    functionDepth: 3
    functionLinenumber: 4913
    functionLinenumberEnd: 4930
    functionName: read_stts
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - push
    - be_u32
    - to_usize
    - skip_box_remain
    - read_fullbox_extra
    - Ok
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_stts<T: Read>(src: &mut BMFFBox<T>) -> Result<TimeToSampleBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4934,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4936,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4937,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4937,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4940,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4941,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4951,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4956,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4969,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4972,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4973,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4974,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4981,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4986,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4987,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4987,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4990,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 5001
      start: 4933
    functionDepth: 2
    functionLinenumber: 4933
    functionLinenumberEnd: 5001
    functionName: read_vpcc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - Err
    - contains
    - into
    - '&mut BMFFBox<T>::read_u8'
    - Error::Unsupported
    - read_buf
    - read_fullbox_extra
    - Ok
    - be_u16
    linkageType: ''
    returnType: Result
    signature: 'fn read_vpcc<T: Read>(src: &mut BMFFBox<T>) -> Result<VPxConfigBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5007,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5008,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5009,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5011,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5011,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5014,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5014,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5016,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5019,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5030,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5038,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 5051
      start: 5004
    functionDepth: 7
    functionLinenumber: 5004
    functionLinenumberEnd: 5051
    functionName: read_av1c
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Err
    - read_u8
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Error::Unsupported
    - as_slice
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn read_av1c<T: Read>(src: &mut BMFFBox<T>) -> Result<AV1ConfigBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5054,1
    - Dst: be_u24
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5056,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5056,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5057,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5058,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5060,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5061,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 5062
      start: 5053
    functionDepth: 2
    functionLinenumber: 5053
    functionLinenumberEnd: 5062
    functionName: read_flac_metadata
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&mut BMFFBox<T>::bytes_left'
    - into
    - '&mut BMFFBox<T>::read_u8'
    - read_buf
    - Ok
    - be_u24
    linkageType: ''
    returnType: Result
    signature: 'fn read_flac_metadata<T: Read>(src: &mut BMFFBox<T>) -> Result<FLACMetadataBlock>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5078,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5079,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5080,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5087,1
    - Dst: '&[u8]::len'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5087,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5087,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5090,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5093,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5094,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5096,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5101,1
    - Dst: '&[u8]::len'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5101,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5101,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5101,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5102,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5105,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5105,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5105,1
    - Dst: read_es_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5109,1
    - Dst: read_dc_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5112,1
    - Dst: read_ds_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5114,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5122,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5130,1
    - Dst: '&[u8]::len'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5130,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5134,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 104
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5135
      start: 5065
    functionDepth: 5
    functionLinenumber: 5065
    functionLinenumberEnd: 5135
    functionName: find_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Mp4parseStatus::read_u8
    - Err
    - to_usize
    - to_u64
    - Cursor::new
    - u64::from
    - read_es_descriptor
    - into
    - try_into
    - u32::from
    - read_dc_descriptor
    - read_ds_descriptor
    - Ok
    - Mp4parseStatus::position
    - '&[u8]::len'
    linkageType: ''
    returnType: Result
    signature: 'fn find_descriptor(data: &[u8],esds: &mut ES_Descriptor,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5138,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5142,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - bit_reader
    argTypes:
    - '&mut BitReader'
    constantsTouched: []
    func_position:
      end: 5146
      start: 5137
    functionDepth: 2
    functionLinenumber: 5137
    functionLinenumberEnd: 5146
    functionName: get_audio_object_type
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - ReadInto::read
    linkageType: ''
    returnType: Result
    signature: 'fn get_audio_object_type(bit_reader: &mut BitReader) -> Result<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5157,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5158,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5178,1
    - Dst: get_audio_object_type
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5180,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5182,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5187,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5187,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5188,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5188,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5188,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5194,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5197,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5205,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5207,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5207,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5208,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5208,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5208,1
    - Dst: get_audio_object_type
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5213,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5215,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5226,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5227,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5227,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5241,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5256,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5257,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5259,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5261,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5267,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5268,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5269,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5270,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5271,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5272,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5273,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5274,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5275,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5277,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5279,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5282,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5284,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5287,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5289,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5290,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5293,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5294,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5295,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5296,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5304,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5304,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5308,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5310,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5311,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5313,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5314,1
    - Dst: extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5319,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5321,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5323,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5323,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 219
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5325
      start: 5149
    functionDepth: 8
    functionLinenumber: 5149
    functionLinenumberEnd: 5325
    functionName: read_ds_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Mp4parseStatus::skip
    - get_audio_object_type
    - Some
    - find
    - Err
    - fail_with_status_if
    - is_empty
    - ReadInto::read
    - is_none
    - extend_from_slice
    - Error::Unsupported
    - BitReader::new
    - Ok
    - iter
    - read_surround_channel_count
    - map
    - unwrap
    linkageType: ''
    returnType: Result
    signature: 'fn read_ds_descriptor(data: &[u8],esds: &mut ES_Descriptor,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5330,1
    - Dst: '&mut BitReader::skip'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5332,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bit_reader
    - channels
    argTypes:
    - '&mut BitReader'
    - u8
    constantsTouched: []
    func_position:
      end: 5335
      start: 5327
    functionDepth: 2
    functionLinenumber: 5327
    functionLinenumberEnd: 5335
    functionName: read_surround_channel_count
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - ReadInto::read
    - '&mut BitReader::skip'
    linkageType: ''
    returnType: Result
    signature: 'fn read_surround_channel_count(bit_reader: &mut BitReader, channels:
      u8) -> Result<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5343,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5344,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5355,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5357,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5357,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5357,1
    - Dst: find_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5358,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5359,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5359,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5359,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5367,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5383
      start: 5338
    functionDepth: 10
    functionLinenumber: 5338
    functionLinenumberEnd: 5383
    functionName: read_dc_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Mp4parseStatus::read_u8
    - Some
    - skip
    - find_descriptor
    - Cursor::new
    - try_into
    - Ok
    - Self::len
    - Mp4parseStatus::position
    - to_u64
    linkageType: ''
    returnType: Result
    signature: 'fn read_dc_descriptor(data: &[u8],esds: &mut ES_Descriptor,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5391,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5393,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5395,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5400,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5406,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5406,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5407,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5410,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5410,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5410,1
    - Dst: find_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5411,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5412,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5412,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5412,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5418,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5419
      start: 5386
    functionDepth: 10
    functionLinenumber: 5386
    functionLinenumberEnd: 5419
    functionName: read_es_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Mp4parseStatus::read_u8
    - skip
    - find_descriptor
    - Cursor::new
    - u64::from
    - try_into
    - Ok
    - Self::len
    - Mp4parseStatus::position
    - to_u64
    linkageType: ''
    returnType: Result
    signature: 'fn read_es_descriptor(data: &[u8],esds: &mut ES_Descriptor,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1047,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1048,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1048,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1049,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1051,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1052,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1052,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1052,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1054,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1039
    functionDepth: 7
    functionLinenumber: 1039
    functionLinenumberEnd: 1063
    functionName: read_esds
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_esds
    - B32
    - make_box
    - as_slice
    - append_bytes
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_esds()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:696,1
    - Dst: flac_streaminfo
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:699,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:702,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:703,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:703,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:703,1
    - Dst: super::read_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:705,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 707
      start: 695
    functionDepth: 4
    functionLinenumber: 695
    functionLinenumberEnd: 707
    functionName: read_dfla
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_dfla
    - flac_streaminfo
    - make_dfla
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_dfla()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_dops
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:758,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:759,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:760,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:760,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:760,1
    - Dst: super::read_dops
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 764
      start: 757
    functionDepth: 4
    functionLinenumber: 757
    functionLinenumberEnd: 764
    functionName: read_dops
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - make_dops
    - super::read_dops
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_dops()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::<u8>::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:777,1
    - Dst: super::serialize_opus_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:778,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:778,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:794,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:797,1
    - Dst: Vec::<u8>::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:800,1
    - Dst: super::serialize_opus_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:801,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 810
    functionName: serialize_opus_header
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 2
    functionsReached:
    - Some
    - super::serialize_opus_header
    - Vec::<u8>::new
    - into
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn serialize_opus_header()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:814,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:815,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:815,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:815,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:815,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:815,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:815,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:815,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:815,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:815,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:815,1
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:825,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:825,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:825,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:829,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:830,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:830,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:830,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 833
      start: 813
    functionDepth: 4
    functionLinenumber: 813
    functionLinenumberEnd: 833
    functionName: read_alac
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B32
    - make_box
    - Cursor::into_inner
    - B16
    - append_bytes
    - Result::unwrap
    - super::read_audio_sample_entry
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_alac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:494,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:494,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:495,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:495,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:495,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:495,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:495,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:495,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:495,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:503,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:504,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:504,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:504,1
    - Dst: super::read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:507,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 493
    functionDepth: 4
    functionLinenumber: 493
    functionLinenumberEnd: 509
    functionName: read_hdlr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 3
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B32
    - B8
    - super::read_hdlr
    - append_bytes
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_hdlr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::get_header'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5621,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5638,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5640,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5643,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5645,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5646,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5649,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5657,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5658,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5659,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5665,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5667,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5669,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5669,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5674,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5677,1
    - Dst: VideoCodecSpecific::AVCConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5677,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5680,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5681,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5683,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5683,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5688,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5691,1
    - Dst: VideoCodecSpecific::H263Config
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5691,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5698,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5700,1
    - Dst: read_vpcc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5702,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5703,1
    - Dst: VideoCodecSpecific::VPxConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5703,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5707,1
    - Dst: read_av1c
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5709,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5710,1
    - Dst: VideoCodecSpecific::AV1Config
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5710,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5713,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5714,1
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5718,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5721,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5721,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5726,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5727,1
    - Dst: VideoCodecSpecific::ESDSConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5727,1
    - Dst: read_esds
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5733,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5735,1
    - Dst: VideoCodecSpecific::ESDSConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5735,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5740,1
    - Dst: read_sinf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5742,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5744,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5750,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5752,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5754,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5754,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5759,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5761,1
    - Dst: VideoCodecSpecific::HEVCConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5761,1
    - Dst: read_pasp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5764,1
    - Dst: is_valid_aspect_ratio
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5768,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5769,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5774,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5776,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5780,1
    - Dst: read_colr
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5782,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5785,1
    - Dst: read_mdcv
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5789,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5791,1
    - Dst: read_clli
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5794,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5796,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5800,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5803,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5806,1
    - Dst: None::map_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5807,1
    - Dst: SampleEntry::Video
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5808,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 284
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5822
      start: 5617
    functionDepth: 8
    functionLinenumber: 5617
    functionLinenumberEnd: 5822
    functionName: read_video_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - None::map_or
    - SampleEntry::Video
    - read_buf
    - read_pasp
    - Ok
    - Mp4parseStatus::push
    - VideoCodecSpecific::HEVCConfig
    - skip_box_content
    - Some
    - SampleToChunkIterator::next_box
    - TryVec::new
    - skip
    - read_sinf
    - '&mut BMFFBox<T>::get_header'
    - into
    - read_clli
    - be_u16
    - VideoCodecSpecific::ESDSConfig
    - read_vpcc
    - VideoCodecSpecific::VPxConfig
    - VideoCodecSpecific::H263Config
    - VideoCodecSpecific::AV1Config
    - None::is_some
    - VideoCodecSpecific::AVCConfig
    - read_colr
    - checked_sub
    - expect
    - is_valid_aspect_ratio
    - '&mut BMFFBox<T>::box_iter'
    - check_parser_state
    - read_av1c
    - read_esds
    - read_fullbox_extra
    - read_mdcv
    - fail_with_status_if
    linkageType: ''
    returnType: Result
    signature: 'fn read_video_sample_entry<T: Read>(src: &mut BMFFBox<T>,strictness:
      ParseStrictness,) -> Result<SampleEntry>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:970,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:971,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:971,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:971,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:971,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:971,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:971,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:971,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:971,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:970,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:981,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:982,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:981,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:985,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:985,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:985,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:985,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:986,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:996,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:997,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1000,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1001,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1001,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1001,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1002,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 969
    functionDepth: 7
    functionLinenumber: 969
    functionLinenumberEnd: 1010
    functionName: read_qt_wave_atom
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B32
    - B8
    - make_box
    - append_bytes
    - as_slice
    - B16
    - Cursor::into_inner
    - Result::unwrap
    - Result::expect
    - super::read_audio_sample_entry
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_qt_wave_atom()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::get_header'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5849,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5852,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5854,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5860,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5863,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5865,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5865,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5866,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5869,1
    - Dst: f64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5871,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5871,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5878,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5882,1
    - Dst: f64::from_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5883,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5883,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5884,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5885,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5888,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5888,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5895,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5896,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5902,1
    - Dst: AudioCodecSpecific::AMRSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5902,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5902,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5907,1
    - Dst: AudioCodecSpecific::AMRSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5907,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5907,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5911,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5912,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5913,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5918,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5920,1
    - Dst: read_esds
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5922,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5924,1
    - Dst: AudioCodecSpecific::ES_Descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5924,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5928,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5930,1
    - Dst: read_dfla
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5932,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5934,1
    - Dst: AudioCodecSpecific::FLACSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5934,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5938,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5940,1
    - Dst: read_dops
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5942,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5944,1
    - Dst: AudioCodecSpecific::OpusSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5944,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5947,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5948,1
    - Dst: read_alac
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5950,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5952,1
    - Dst: AudioCodecSpecific::ALACSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5952,1
    - Dst: read_qt_wave_atom
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5955,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5957,1
    - Dst: AudioCodecSpecific::ES_Descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5957,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5961,1
    - Dst: read_sinf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5963,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5966,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5971,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5973,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5973,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5978,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5980,1
    - Dst: AudioCodecSpecific::AMRSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5980,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5984,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5987,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5990,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5991,1
    - Dst: SampleEntry::Audio
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5992,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 226
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 6003
      start: 5845
    functionDepth: 8
    functionLinenumber: 5845
    functionLinenumberEnd: 6003
    functionName: read_audio_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - read_dops
    - read_buf
    - Ok
    - Mp4parseStatus::push
    - skip_box_content
    - Some
    - Err
    - SampleToChunkIterator::next_box
    - TryVec::new
    - is_some
    - skip
    - read_dfla
    - read_sinf
    - '&mut BMFFBox<T>::get_header'
    - into
    - u32::from
    - f64::from
    - be_u16
    - read_alac
    - AudioCodecSpecific::AMRSpecificBox
    - read_qt_wave_atom
    - Error::Unsupported
    - AudioCodecSpecific::ALACSpecificBox
    - be_u64
    - AudioCodecSpecific::FLACSpecificBox
    - SampleEntry::Audio
    - AudioCodecSpecific::ES_Descriptor
    - be_u32
    - checked_sub
    - f64::from_bits
    - Default::default
    - expect
    - '&mut BMFFBox<T>::box_iter'
    - AudioCodecSpecific::OpusSpecificBox
    - check_parser_state
    - read_esds
    - map_or
    linkageType: ''
    returnType: Result
    signature: 'fn read_audio_sample_entry<T: Read>(src: &mut BMFFBox<T>,strictness:
      ParseStrictness,) -> Result<SampleEntry>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6013,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6019,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6019,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6020,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6022,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6023,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6024,1
    - Dst: read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6026,1
    - Dst: read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6027,1
    - Dst: read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6028,1
    - Dst: read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6029,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6030,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6030,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6031,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6031,1
    - Dst: bytes_left
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6039,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6040,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6043,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6045,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6046,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6053,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6055,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 3
    argNames:
    - src
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 6056
      start: 6008
    functionDepth: 9
    functionLinenumber: 6008
    functionLinenumberEnd: 6056
    functionName: read_stsd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - len
    - SampleToChunkIterator::next_box
    - Err
    - to_usize
    - push
    - skip
    - bytes_left
    - '&mut BMFFBox<T>::box_iter'
    - check_parser_state
    - skip_box_remain
    - read_video_sample_entry
    - read_audio_sample_entry
    - Error::Unsupported
    - read_fullbox_extra
    - Ok
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_stsd<T: Read>(src: &mut BMFFBox<T>,track: &Track,strictness:
      ParseStrictness,) -> Result<SampleDescriptionBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ProtectionSchemeInfoBox::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6059,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6061,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6062,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6065,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6065,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6068,1
    - Dst: read_schm
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6068,1
    - Dst: read_schi
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6072,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6074,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6076,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6079,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6080
      start: 6058
    functionDepth: 4
    functionLinenumber: 6058
    functionLinenumberEnd: 6080
    functionName: read_sinf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - be_u32
    - ProtectionSchemeInfoBox::default
    - SampleToChunkIterator::next_box
    - Some
    - FourCC::from
    - '&mut BMFFBox<T>::box_iter'
    - check_parser_state
    - read_schm
    - Ok
    - read_schi
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'fn read_sinf<T: Read>(src: &mut BMFFBox<T>) -> Result<ProtectionSchemeInfoBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6084,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6085,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6088,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6089,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6091,1
    - Dst: read_tenc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6091,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6093,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6097,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6098
      start: 6082
    functionDepth: 4
    functionLinenumber: 6082
    functionLinenumberEnd: 6098
    functionName: read_schi
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - SampleToChunkIterator::next_box
    - is_some
    - read_tenc
    - '&mut BMFFBox<T>::box_iter'
    - into
    - Ok
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'fn read_schi<T: Read>(src: &mut BMFFBox<T>) -> Result<Option<TrackEncryptionBox>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6101,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6104,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6108,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6112,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6115,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6115,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6118,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6119,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6120,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6124,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6125,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6125,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6125,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6130,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6138
      start: 6100
    functionDepth: 2
    functionLinenumber: 6100
    functionLinenumberEnd: 6138
    functionName: read_tenc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - skip
    - into
    - '&mut BMFFBox<T>::read_u8'
    - read_buf
    - read_fullbox_extra
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn read_tenc<T: Read>(src: &mut BMFFBox<T>) -> Result<TrackEncryptionBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6143,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6144,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6144,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6145,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6147,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6152
      start: 6140
    functionDepth: 3
    functionLinenumber: 6140
    functionLinenumberEnd: 6152
    functionName: read_schm
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - FourCC::from
    - skip_box_remain
    - read_fullbox_extra
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn read_schm<T: Read>(src: &mut BMFFBox<T>) -> Result<SchemeTypeBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6157,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6160,1
    - Dst: read_meta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6163,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6164,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6166,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6168,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6171
      start: 6156
    functionDepth: 4
    functionLinenumber: 6156
    functionLinenumberEnd: 6171
    functionName: read_udta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - SampleToChunkIterator::next_box
    - '&mut BMFFBox<T>::box_iter'
    - check_parser_state
    - Ok
    - read_meta
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'fn read_udta<T: Read>(src: &mut BMFFBox<T>) -> Result<UserdataBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6176,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6177,1
    - Dst: MetadataBox::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6178,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6179,1
    - Dst: read_ilst
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6181,1
    - Dst: read_xml_
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6183,1
    - Dst: read_bxml
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6185,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6186,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6188,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6191
      start: 6175
    functionDepth: 4
    functionLinenumber: 6175
    functionLinenumberEnd: 6191
    functionName: read_meta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - SampleToChunkIterator::next_box
    - read_xml_
    - '&mut BMFFBox<T>::box_iter'
    - MetadataBox::default
    - check_parser_state
    - read_bxml
    - read_fullbox_extra
    - Ok
    - read_ilst
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'fn read_meta<T: Read>(src: &mut BMFFBox<T>) -> Result<MetadataBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6197,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6198,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6198,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6200,1
    - Dst: XmlBox::StringXmlBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6200,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6200,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - src
    - meta
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut MetadataBox'
    constantsTouched: []
    func_position:
      end: 6202
      start: 6196
    functionDepth: 3
    functionLinenumber: 6196
    functionLinenumberEnd: 6202
    functionName: read_xml_
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - Err
    - XmlBox::StringXmlBox
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Error::Unsupported
    - read_fullbox_version_no_flags
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn read_xml_<T: Read>(src: &mut BMFFBox<T>, meta: &mut MetadataBox)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6208,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6209,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6209,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6211,1
    - Dst: XmlBox::BinaryXmlBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6211,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6211,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - src
    - meta
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut MetadataBox'
    constantsTouched: []
    func_position:
      end: 6213
      start: 6207
    functionDepth: 3
    functionLinenumber: 6207
    functionLinenumberEnd: 6213
    functionName: read_bxml
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - Err
    - '&mut BMFFBox<T>::read_into_try_vec'
    - XmlBox::BinaryXmlBox
    - Error::Unsupported
    - read_fullbox_version_no_flags
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn read_bxml<T: Read>(src: &mut BMFFBox<T>, meta: &mut MetadataBox)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6217,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6218,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6220,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6222,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6224,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6225,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6226,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6227,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6229,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6229,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6232,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6232,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6233,1
    - Dst: Genre::StandardGenre
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6233,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6233,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6233,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6235,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6236,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6237,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6238,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6239,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6240,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6241,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6242,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6243,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6244,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6245,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6246,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6247,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6248,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6249,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6250,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6251,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6252,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6253,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6254,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6255,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6256,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6258,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6260,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6262,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6263,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6263,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6264,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6264,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6268,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6269,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6269,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6270,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6270,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6275,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6275,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6275,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6275,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6277,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6279,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6279,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6280,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6280,1
    - Dst: AdvisoryRating::Explicit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6283,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6288,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6288,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6289,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6289,1
    - Dst: MediaType::Unknown
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6298,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6302,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6304,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6304,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6304,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6304,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6308,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6308,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6308,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6308,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6310,1
    - Dst: read_ilst_multiple_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6311,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6311,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6312,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6314,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6316,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 314
    argCount: 2
    argNames:
    - src
    - meta
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut MetadataBox'
    constantsTouched: []
    func_position:
      end: 6317
      start: 6216
    functionDepth: 6
    functionLinenumber: 6216
    functionLinenumberEnd: 6317
    functionName: read_ilst
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - copied
    - Result::ok
    - Ok
    - and_then
    - skip_box_content
    - MediaType::Unknown
    - Some
    - SampleToChunkIterator::next_box
    - read_ilst_string_data
    - first
    - Genre::StandardGenre
    - read_ilst_multiple_u8_data
    - get
    - read_ilst_u8_data
    - read_ilst_bool_data
    - '&mut BMFFBox<T>::box_iter'
    - check_parser_state
    - AdvisoryRating::Explicit
    - map
    linkageType: ''
    returnType: Result
    signature: 'fn read_ilst<T: Read>(src: &mut BMFFBox<T>, meta: &mut MetadataBox)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6320,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6320,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6320,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6320,1
    - Dst: isize::first
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6321
      start: 6319
    functionDepth: 1
    functionLinenumber: 6319
    functionLinenumberEnd: 6321
    functionName: read_ilst_bool_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - read_ilst_u8_data
    - isize::first
    - Ok
    - and_then
    linkageType: ''
    returnType: Result
    signature: 'fn read_ilst_bool_data<T: Read>(src: &mut BMFFBox<T>) -> Result<Option<bool>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6325
      start: 6323
    functionDepth: 1
    functionLinenumber: 6323
    functionLinenumberEnd: 6325
    functionName: read_ilst_string_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - read_ilst_u8_data
    linkageType: ''
    returnType: Result
    signature: 'fn read_ilst_string_data<T: Read>(src: &mut BMFFBox<T>) -> Result<Option<TryString>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6329,1
    - Dst: read_ilst_multiple_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6329,1
    - Dst: pop
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6330
      start: 6327
    functionDepth: 1
    functionLinenumber: 6327
    functionLinenumberEnd: 6330
    functionName: read_ilst_u8_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 3
    functionsReached:
    - Ok
    - pop
    - read_ilst_multiple_u8_data
    linkageType: ''
    returnType: Result
    signature: 'fn read_ilst_u8_data<T: Read>(src: &mut BMFFBox<T>) -> Result<Option<TryVec<u8>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6333,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6334,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6335,1
    - Dst: Self::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6338,1
    - Dst: read_ilst_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6338,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6340,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6342,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6345
      start: 6332
    functionDepth: 5
    functionLinenumber: 6332
    functionLinenumberEnd: 6345
    functionName: read_ilst_multiple_u8_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - SampleToChunkIterator::next_box
    - TryVec::new
    - '&mut BMFFBox<T>::box_iter'
    - check_parser_state
    - read_ilst_data
    - Ok
    - Self::push
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'fn read_ilst_multiple_u8_data<T: Read>(src: &mut BMFFBox<T>) -> Result<TryVec<TryVec<u8>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6349,1
    - Dst: limit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6350,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6352
      start: 6347
    functionDepth: 1
    functionLinenumber: 6347
    functionLinenumberEnd: 6352
    functionName: read_ilst_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip
    - read_buf
    - limit
    linkageType: ''
    returnType: Result
    signature: 'fn read_ilst_data<T: Read>(src: &mut BMFFBox<T>) -> Result<TryVec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::io::copy
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6356,1
    - Dst: '&mut T::take'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6356,1
    - Dst: std::io::sink
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6356,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - src
    - bytes
    argTypes:
    - '&mut T'
    - u64
    constantsTouched: []
    func_position:
      end: 6358
      start: 6355
    functionDepth: 0
    functionLinenumber: 6355
    functionLinenumberEnd: 6358
    functionName: skip
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 15
    functionsReached:
    - Ok
    - std::io::copy
    - '&mut T::take'
    - std::io::sink
    linkageType: ''
    returnType: Result
    signature: 'fn skip<T: Read>(src: &mut T, bytes: u64) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut T::take'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6362,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6362,1
    - Dst: Result::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6363,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6363,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6364,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - '&mut T'
    - u64
    constantsTouched: []
    func_position:
      end: 6368
      start: 6361
    functionDepth: 1
    functionLinenumber: 6361
    functionLinenumberEnd: 6368
    functionName: read_buf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 7
    functionsReached:
    - read_into_try_vec
    - '&mut T::take'
    - into
    - Ok
    - to_u64
    - Result::len
    linkageType: ''
    returnType: Result
    signature: 'fn read_buf<T: Read>(src: &mut T, size: u64) -> Result<TryVec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_i16::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6371,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6372
      start: 6370
    functionDepth: 0
    functionLinenumber: 6370
    functionLinenumberEnd: 6372
    functionName: be_i16
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - read_i16::<byteorder::BigEndian>
    - map_err
    linkageType: ''
    returnType: Result
    signature: 'fn be_i16<T: ReadBytesExt>(src: &mut T) -> Result<i16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_i32::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6375,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6376
      start: 6374
    functionDepth: 0
    functionLinenumber: 6374
    functionLinenumberEnd: 6376
    functionName: be_i32
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 3
    functionsReached:
    - read_i32::<byteorder::BigEndian>
    - map_err
    linkageType: ''
    returnType: Result
    signature: 'fn be_i32<T: ReadBytesExt>(src: &mut T) -> Result<i32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_i64::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6379,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6380
      start: 6378
    functionDepth: 0
    functionLinenumber: 6378
    functionLinenumberEnd: 6380
    functionName: be_i64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - read_i64::<byteorder::BigEndian>
    - map_err
    linkageType: ''
    returnType: Result
    signature: 'fn be_i64<T: ReadBytesExt>(src: &mut T) -> Result<i64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_u16::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6383,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6384
      start: 6382
    functionDepth: 0
    functionLinenumber: 6382
    functionLinenumberEnd: 6384
    functionName: be_u16
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 9
    functionsReached:
    - read_u16::<byteorder::BigEndian>
    - map_err
    linkageType: ''
    returnType: Result
    signature: 'fn be_u16<T: ReadBytesExt>(src: &mut T) -> Result<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_u24::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6387,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6388
      start: 6386
    functionDepth: 0
    functionLinenumber: 6386
    functionLinenumberEnd: 6388
    functionName: be_u24
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - read_u24::<byteorder::BigEndian>
    - map_err
    linkageType: ''
    returnType: Result
    signature: 'fn be_u24<T: ReadBytesExt>(src: &mut T) -> Result<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_u32::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6391,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6392
      start: 6390
    functionDepth: 0
    functionLinenumber: 6390
    functionLinenumberEnd: 6392
    functionName: be_u32
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 27
    functionsReached:
    - read_u32::<byteorder::BigEndian>
    - map_err
    linkageType: ''
    returnType: Result
    signature: 'fn be_u32<T: ReadBytesExt>(src: &mut T) -> Result<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_u64::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6395,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6396
      start: 6394
    functionDepth: 0
    functionLinenumber: 6394
    functionLinenumberEnd: 6396
    functionName: be_u64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 8
    functionsReached:
    - map_err
    - read_u64::<byteorder::BigEndian>
    linkageType: ''
    returnType: Result
    signature: 'fn be_u64<T: ReadBytesExt>(src: &mut T) -> Result<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_u32::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6399,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - des
    - num
    argTypes:
    - '&mut T'
    - u32
    constantsTouched: []
    func_position:
      end: 6401
      start: 6398
    functionDepth: 0
    functionLinenumber: 6398
    functionLinenumberEnd: 6401
    functionName: write_be_u32
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - write_u32::<byteorder::BigEndian>
    - map_err
    linkageType: ''
    returnType: Result
    signature: 'fn write_be_u32<T: WriteBytesExt>(des: &mut T, num: u32) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6422
      start: 6417
    functionDepth: 0
    functionLinenumber: 6417
    functionLinenumberEnd: 6422
    functionName: media_data_box_tests::extent_with_length_before_mdat_returns_none
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_with_length_before_mdat_returns_none()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6430
      start: 6425
    functionDepth: 0
    functionLinenumber: 6425
    functionLinenumberEnd: 6430
    functionName: media_data_box_tests::extent_to_end_before_mdat_returns_none
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_to_end_before_mdat_returns_none()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6438
      start: 6433
    functionDepth: 0
    functionLinenumber: 6433
    functionLinenumberEnd: 6438
    functionName: media_data_box_tests::extent_with_length_crossing_front_mdat_boundary_returns_none
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_with_length_crossing_front_mdat_boundary_returns_none()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6449
      start: 6441
    functionDepth: 0
    functionLinenumber: 6441
    functionLinenumberEnd: 6449
    functionName: media_data_box_tests::extent_with_length_which_is_subset_of_mdat
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_with_length_which_is_subset_of_mdat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6457
      start: 6452
    functionDepth: 0
    functionLinenumber: 6452
    functionLinenumberEnd: 6457
    functionName: media_data_box_tests::extent_to_end_which_is_subset_of_mdat
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_to_end_which_is_subset_of_mdat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6468
      start: 6460
    functionDepth: 0
    functionLinenumber: 6460
    functionLinenumberEnd: 6468
    functionName: media_data_box_tests::extent_with_length_which_is_all_of_mdat
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_with_length_which_is_all_of_mdat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6476
      start: 6471
    functionDepth: 0
    functionLinenumber: 6471
    functionLinenumberEnd: 6476
    functionName: media_data_box_tests::extent_to_end_which_is_all_of_mdat
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_to_end_which_is_all_of_mdat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6487
      start: 6479
    functionDepth: 0
    functionLinenumber: 6479
    functionLinenumberEnd: 6487
    functionName: media_data_box_tests::extent_with_length_crossing_back_mdat_boundary_returns_none
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_with_length_crossing_back_mdat_boundary_returns_none()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6498
      start: 6490
    functionDepth: 0
    functionLinenumber: 6490
    functionLinenumberEnd: 6498
    functionName: media_data_box_tests::extent_with_length_after_mdat_returns_none
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_with_length_after_mdat_returns_none()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6506
      start: 6501
    functionDepth: 0
    functionLinenumber: 6501
    functionLinenumberEnd: 6506
    functionName: media_data_box_tests::extent_to_end_after_mdat_returns_none
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_to_end_after_mdat_returns_none()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6517
      start: 6509
    functionDepth: 0
    functionLinenumber: 6509
    functionLinenumberEnd: 6517
    functionName: media_data_box_tests::extent_with_length_which_overflows_usize
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_with_length_which_overflows_usize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6527
      start: 6522
    functionDepth: 0
    functionLinenumber: 6522
    functionLinenumberEnd: 6527
    functionName: media_data_box_tests::extent_to_end_which_overflows_usize
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_to_end_which_overflows_usize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnknownBox
      Src: /src/mp4parse-rust/mp4parse/src/boxes.rs:13,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 45
    functionName: box_database
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/boxes.rs
    functionUses: 0
    functionsReached:
    - UnknownBox
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: From::from
      Src: /src/mp4parse-rust/mp4parse/src/boxes.rs:49,1
    - Dst: Self::fmt
      Src: /src/mp4parse-rust/mp4parse/src/boxes.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: BoxType::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/boxes.rs
    functionUses: 0
    functionsReached:
    - Self::fmt
    - From::from
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - '[u8; 4]'
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: FourCC::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/boxes.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: FourCC
    signature: 'fn from(v: [u8; 4]) -> FourCC'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_str
      Src: /src/mp4parse-rust/mp4parse/src/boxes.rs:91,1
    - Dst: std::str::from_utf8
      Src: /src/mp4parse-rust/mp4parse/src/boxes.rs:91,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse/src/boxes.rs:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: FourCC::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/boxes.rs
    functionUses: 0
    functionsReached:
    - unwrap_or
    - std::str::from_utf8
    - write_str
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eq
      Src: /src/mp4parse-rust/mp4parse/src/boxes.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&&[u8; 4]'
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: FourCC::eq
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/boxes.rs
    functionUses: 0
    functionsReached:
    - eq
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &&[u8; 4]) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Section::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:33,1
    - Dst: Label::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:34,1
    - Dst: Mp4parseStatus::B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:36,1
    - Dst: Mp4parseStatus::B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:37,1
    - Dst: Mp4parseStatus::B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:38,1
    - Dst: Mp4parseStatus::append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:40,1
    - Dst: Mp4parseStatus::B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:47,1
    - Dst: Mp4parseStatus::B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:49,1
    - Dst: func
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:52,1
    - Dst: Mp4parseStatus::set_const
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:63,1
    - Dst: Mp4parseStatus::size
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:63,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:68,1
    - Dst: Mp4parseStatus::get_contents
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:68,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 3
    argNames:
    - size
    - name
    - func
    argTypes:
    - BoxSize
    - '&[u8; 4]'
    - F
    constantsTouched: []
    func_position:
      end: 69
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 69
    functionName: make_box
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 6
    functionsReached:
    - Mp4parseStatus::append_bytes
    - unwrap
    - func
    - Mp4parseStatus::B32
    - Mp4parseStatus::B64
    - Cursor::new
    - Mp4parseStatus::get_contents
    - Label::new
    - Mp4parseStatus::set_const
    - Mp4parseStatus::size
    - Section::new
    linkageType: ''
    returnType: Cursor
    signature: 'fn make_box<F>(size: BoxSize, name: &[u8; 4], func: F) -> Cursor<Vec<u8>>whereF:
      Fn(Section) -> Section,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:75,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:77,1
    - Dst: func
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - size
    - uuid
    - func
    argTypes:
    - BoxSize
    - '&[u8; 16]'
    - F
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: make_uuid_box
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - func
    - B8
    - make_box
    linkageType: ''
    returnType: Cursor
    signature: 'fn make_uuid_box<F>(size: BoxSize, uuid: &[u8; 16], func: F) -> Cursor<Vec<u8>>whereF:
      Fn(Section) -> Section,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:88,1
    - Dst: func
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:88,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:88,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:88,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:88,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - size
    - name
    - version
    - func
    argTypes:
    - BoxSize
    - '&[u8; 4]'
    - u8
    - F
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 6
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: make_fullbox
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 3
    functionsReached:
    - func
    - B8
    - make_box
    linkageType: ''
    returnType: Cursor
    signature: 'fn make_fullbox<F>(size: BoxSize, name: &[u8; 4], version: u8, func:
      F) -> Cursor<Vec<u8>>whereF: Fn(Section) -> Section,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:93,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:93,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:94,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 6
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: read_box_header_short
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - super::read_box_header
    - make_box
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_box_header_short()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:102,1
    - Dst: BoxSize::Long
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:102,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:103,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 6
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: read_box_header_long
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - super::read_box_header
    - BoxSize::Long
    - make_box
    linkageType: ''
    returnType: void
    signature: fn read_box_header_long()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:111,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:111,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 6
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: read_box_header_short_unknown_size
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::read_box_header
    - make_box
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_box_header_short_unknown_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:120,1
    - Dst: BoxSize::UncheckedShort
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:120,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: read_box_header_short_invalid_size
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::read_box_header
    - make_box
    - BoxSize::UncheckedShort
    linkageType: ''
    returnType: void
    signature: fn read_box_header_short_invalid_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:129,1
    - Dst: BoxSize::UncheckedLong
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:129,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: read_box_header_long_invalid_size
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::read_box_header
    - BoxSize::UncheckedLong
    - make_box
    linkageType: ''
    returnType: void
    signature: fn read_box_header_long_invalid_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_uuid_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:143,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:143,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:144,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:145,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:145,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 7
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: read_box_header_uuid
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - make_uuid_box
    - Result::unwrap
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_box_header_uuid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_uuid_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:159,1
    - Dst: BoxSize::UncheckedShort
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:159,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:160,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:161,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:161,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 7
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: read_box_header_truncated_uuid
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - make_uuid_box
    - Result::unwrap
    - BoxSize::UncheckedShort
    linkageType: ''
    returnType: void
    signature: fn read_box_header_truncated_uuid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:175,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:176,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 5
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: read_box_header_uuid_past_eof
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - super::BoxIter::new
    - Cursor::new
    linkageType: ''
    returnType: void
    signature: fn read_box_header_uuid_past_eof()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:207,1
    - Dst: BoxSize::UncheckedShort
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:207,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:208,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:208,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:208,1
    - Dst: super::read_mp4
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 205
    functionDepth: 16
    functionLinenumber: 205
    functionLinenumberEnd: 217
    functionName: read_truncated_ftyp
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::read_mp4
    - make_box
    - append_bytes
    - B32
    - BoxSize::UncheckedShort
    linkageType: ''
    returnType: void
    signature: fn read_truncated_ftyp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:227,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:228,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:228,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:228,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:228,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:233,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:234,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:234,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:234,1
    - Dst: super::read_ftyp
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:237,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 220
    functionDepth: 6
    functionLinenumber: 220
    functionLinenumberEnd: 243
    functionName: read_ftyp_case
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_ftyp
    - make_box
    - append_bytes
    - B32
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_ftyp_case()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:247,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:247,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:248,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:248,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:248,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:248,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:248,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:255,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:256,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:256,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:256,1
    - Dst: super::read_elst
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:259,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 246
    functionDepth: 7
    functionLinenumber: 246
    functionLinenumberEnd: 265
    functionName: read_elst_v0
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_elst
    - B16
    - B32
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_elst_v0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:269,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:269,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:282,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:283,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:283,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:283,1
    - Dst: super::read_elst
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:286,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 268
    functionDepth: 7
    functionLinenumber: 268
    functionLinenumberEnd: 292
    functionName: read_elst_v1
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_elst
    - B64
    - B16
    - B32
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_elst_v1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:296,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:296,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:297,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:297,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:297,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:297,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:297,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:303,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:304,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:304,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:304,1
    - Dst: super::read_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:307,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 7
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: read_mdhd_v0
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_mdhd
    - B32
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_mdhd_v0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:314,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:314,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:315,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:315,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:315,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:315,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:315,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:321,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:322,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:322,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:322,1
    - Dst: super::read_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:325,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 7
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: read_mdhd_v1
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_mdhd
    - B64
    - B32
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_mdhd_v1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:332,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:332,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:333,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:333,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:333,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:333,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:333,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:339,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:340,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:340,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:340,1
    - Dst: super::read_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:343,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 331
    functionDepth: 7
    functionLinenumber: 331
    functionLinenumberEnd: 346
    functionName: read_mdhd_unknown_duration
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_mdhd
    - B32
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_mdhd_unknown_duration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:350,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:350,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:351,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:351,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:351,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:351,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:351,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:357,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:358,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:358,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:358,1
    - Dst: super::parse_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:361,1
    - Dst: super::Track::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 349
    functionDepth: 7
    functionLinenumber: 349
    functionLinenumberEnd: 363
    functionName: read_mdhd_invalid_timescale
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::Track::new
    - B64
    - super::parse_mdhd
    - B32
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_mdhd_invalid_timescale()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:367,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:367,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:368,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:368,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:368,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:368,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:368,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:370,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:371,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:371,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:371,1
    - Dst: super::read_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:374,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 7
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: read_mvhd_v0
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_mvhd
    - B32
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_mvhd_v0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:381,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:381,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:382,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:382,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:382,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:382,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:382,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:384,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:385,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:385,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:385,1
    - Dst: super::read_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:388,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 7
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: read_mvhd_v1
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B64
    - super::read_mvhd
    - B32
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_mvhd_v1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:395,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:395,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:396,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:396,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:396,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:396,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:396,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:398,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:399,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:399,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:399,1
    - Dst: super::parse_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 394
    functionDepth: 7
    functionLinenumber: 394
    functionLinenumberEnd: 404
    functionName: read_mvhd_invalid_timescale
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B64
    - super::parse_mvhd
    - B32
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_mvhd_invalid_timescale()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:408,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:408,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:409,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:409,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:409,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:409,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:409,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:415,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:416,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:416,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:416,1
    - Dst: super::read_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:419,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 407
    functionDepth: 7
    functionLinenumber: 407
    functionLinenumberEnd: 422
    functionName: read_mvhd_unknown_duration
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_mvhd
    - B32
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_mvhd_unknown_duration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:426,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:426,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:427,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:427,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:427,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:427,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:427,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:427,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:434,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:435,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:435,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:435,1
    - Dst: super::read_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:438,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 425
    functionDepth: 7
    functionLinenumber: 425
    functionLinenumberEnd: 441
    functionName: read_mvhd_v0_trailing_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_mvhd
    - B16
    - B32
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_mvhd_v0_trailing_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:446,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:447,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:447,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:447,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:447,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:447,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:447,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:454,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:455,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:455,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:455,1
    - Dst: super::read_vpcc
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 444
    functionDepth: 7
    functionLinenumber: 444
    functionLinenumberEnd: 459
    functionName: read_vpcc_version_0
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B8
    - super::read_vpcc
    - B16
    - Result::unwrap
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_vpcc_version_0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:466,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:477,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:478,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:478,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:478,1
    - Dst: super::read_vpcc
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 464
    functionDepth: 7
    functionLinenumber: 464
    functionLinenumberEnd: 490
    functionName: read_vpcc_version_1
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B8
    - super::read_vpcc
    - B16
    - Result::unwrap
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_vpcc_version_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:513,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:513,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:514,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:514,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:514,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:514,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:514,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:514,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:514,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:522,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:523,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:523,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 530
      start: 512
    functionDepth: 7
    functionLinenumber: 512
    functionLinenumberEnd: 530
    functionName: read_hdlr_multiple_nul_in_name
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B32
    - B8
    - append_bytes
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_multiple_nul_in_name()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:534,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:534,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:535,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:535,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:535,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:535,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:535,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:535,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:537,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:538,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:538,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:538,1
    - Dst: super::read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:541,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 533
    functionDepth: 7
    functionLinenumber: 533
    functionLinenumberEnd: 543
    functionName: read_hdlr_short_name
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B32
    - B8
    - super::read_hdlr
    - append_bytes
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_short_name()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:547,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:547,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:548,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:548,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:548,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:548,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:548,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:550,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:551,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:551,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 546
    functionDepth: 7
    functionLinenumber: 546
    functionLinenumberEnd: 558
    functionName: read_hdlr_unsupported_version
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B32
    - append_bytes
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_unsupported_version()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:562,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:562,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:563,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:563,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:563,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:563,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:563,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:565,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:566,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:566,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 573
      start: 561
    functionDepth: 7
    functionLinenumber: 561
    functionLinenumberEnd: 573
    functionName: read_hdlr_invalid_pre_defined_field
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B32
    - append_bytes
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_invalid_pre_defined_field()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:577,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:577,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:578,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:578,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:578,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:578,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:578,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:580,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:581,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:581,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 588
      start: 576
    functionDepth: 7
    functionLinenumber: 576
    functionLinenumberEnd: 588
    functionName: read_hdlr_invalid_reserved_field
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B32
    - append_bytes
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_invalid_reserved_field()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:592,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:592,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:593,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:593,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:593,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:593,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:593,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:595,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:596,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:596,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 591
    functionDepth: 7
    functionLinenumber: 591
    functionLinenumberEnd: 603
    functionName: read_hdlr_zero_length_name
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B32
    - append_bytes
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_zero_length_name()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:607,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:607,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:608,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:608,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:608,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:608,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:608,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:610,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:611,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:611,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:611,1
    - Dst: super::read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:614,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 616
      start: 606
    functionDepth: 7
    functionLinenumber: 606
    functionLinenumberEnd: 616
    functionName: read_hdlr_zero_length_name_permissive
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B32
    - super::read_hdlr
    - append_bytes
    - Result::unwrap
    - make_fullbox
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_zero_length_name_permissive()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 624
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 624
    functionName: flac_streaminfo
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Vec
    signature: fn flac_streaminfo() -> Vec<u8>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:628,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:629,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:629,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:629,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:629,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:629,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:629,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:629,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:629,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:629,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:629,1
    - Dst: make_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:639,1
    - Dst: flac_streaminfo
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:642,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:639,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:648,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:649,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:649,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:649,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 627
    functionDepth: 9
    functionLinenumber: 627
    functionLinenumberEnd: 652
    functionName: read_flac
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - flac_streaminfo
    - B32
    - make_dfla
    - make_box
    - Cursor::into_inner
    - B16
    - append_bytes
    - Result::unwrap
    - super::read_audio_sample_entry
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_flac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:679,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:680,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:682,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:689,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - block_type
    - last
    - data
    - data_length
    argTypes:
    - FlacBlockType
    - bool
    - '&[u8]'
    - FlacBlockLength
    constantsTouched: []
    func_position:
      end: 692
      start: 672
    functionDepth: 7
    functionLinenumber: 672
    functionLinenumberEnd: 692
    functionName: make_dfla
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 2
    functionsReached:
    - B32
    - u32::from
    - Self::len
    - append_bytes
    - make_fullbox
    linkageType: ''
    returnType: Cursor
    signature: 'fn make_dfla(block_type: FlacBlockType,last: bool,data: &[u8],data_length:
      FlacBlockLength,) -> Cursor<Vec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flac_streaminfo
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:711,1
    - Dst: make_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:712,1
    - Dst: FlacBlockLength::Incorrect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:716,1
    - Dst: Vec::len
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:716,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:718,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:719,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:719,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:719,1
    - Dst: super::read_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 723
      start: 710
    functionDepth: 8
    functionLinenumber: 710
    functionLinenumberEnd: 723
    functionName: long_flac_metadata
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_dfla
    - FlacBlockLength::Incorrect
    - flac_streaminfo
    - make_dfla
    - Vec::len
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn long_flac_metadata()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:727,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:728,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:728,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:728,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:728,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:728,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:728,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:728,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:728,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:728,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:728,1
    - Dst: make_dops
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:737,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:737,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:739,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:740,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:740,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:740,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 743
      start: 726
    functionDepth: 9
    functionLinenumber: 726
    functionLinenumberEnd: 743
    functionName: read_opus
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - make_dops
    - B32
    - make_box
    - Cursor::into_inner
    - B16
    - append_bytes
    - Result::unwrap
    - super::read_audio_sample_entry
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_opus()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:746,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:747,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:747,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:747,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:747,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:747,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 754
      start: 745
    functionDepth: 6
    functionLinenumber: 745
    functionLinenumberEnd: 754
    functionName: make_dops
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 2
    functionsReached:
    - B32
    - B8
    - make_box
    - B16
    linkageType: ''
    returnType: Cursor
    signature: fn make_dops() -> Cursor<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:837,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:838,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:838,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:838,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:838,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:838,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:838,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:838,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:838,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:838,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:838,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:838,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:838,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:851,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:852,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:852,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:852,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 836
    functionDepth: 9
    functionLinenumber: 836
    functionLinenumberEnd: 858
    functionName: esds_limit
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - B32
    - make_box
    - B16
    - append_bytes
    - Result::unwrap
    - super::read_audio_sample_entry
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn esds_limit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:862,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:862,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:862,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:862,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:863,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:864,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:864,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:864,1
    - Dst: super::read_elst
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 869
      start: 861
    functionDepth: 13
    functionLinenumber: 861
    functionLinenumberEnd: 869
    functionName: read_elst_zero_entries
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_elst
    - B16
    - B32
    - Result::unwrap
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_elst_zero_entries()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:872,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:873,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:873,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:873,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:873,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 880
      start: 871
    functionDepth: 7
    functionLinenumber: 871
    functionLinenumberEnd: 880
    functionName: make_elst
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - B32
    - B16
    - B64
    - make_fullbox
    linkageType: ''
    returnType: Cursor
    signature: fn make_elst() -> Cursor<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:887,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:888,1
    - Dst: make_elst
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:888,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:888,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:890,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:891,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:891,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:891,1
    - Dst: super::Track::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:892,1
    - Dst: super::read_edts
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 900
      start: 883
    functionDepth: 14
    functionLinenumber: 883
    functionLinenumberEnd: 900
    functionName: read_edts_bogus
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::Track::new
    - make_box
    - append_bytes
    - super::read_edts
    - make_elst
    - Cursor::into_inner
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_edts_bogus()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:909,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:910,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:912,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:913,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:913,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:913,1
    - Dst: super::read_stts
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:916,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:916,1
    - Dst: super::read_stsc
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:919,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:919,1
    - Dst: super::read_stsz
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:922,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:922,1
    - Dst: super::read_stco
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:925,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:925,1
    - Dst: super::read_co64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:928,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:928,1
    - Dst: super::read_stss
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:931,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 936
      start: 903
    functionDepth: 13
    functionLinenumber: 903
    functionLinenumberEnd: 936
    functionName: skip_padding_in_boxes
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_stsz
    - super::read_stss
    - super::read_stsc
    - super::read_co64
    - super::read_stts
    - Result::unwrap
    - Result::expect
    - super::read_stco
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn skip_padding_in_boxes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:942,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:943,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:943,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:943,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:943,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:943,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:943,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:943,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:943,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:943,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:943,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:943,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:942,1
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:956,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:957,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:957,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:958,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:957,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:962,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:963,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:963,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:963,1
    - Dst: super::read_stsd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:964,1
    - Dst: super::Track::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:964,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 966
      start: 939
    functionDepth: 11
    functionLinenumber: 939
    functionLinenumberEnd: 966
    functionName: skip_padding_in_stsd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_stsd
    - B32
    - super::Track::new
    - make_box
    - Cursor::into_inner
    - as_slice
    - B16
    - append_bytes
    - Result::unwrap
    - Result::expect
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn skip_padding_in_stsd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1020,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1021,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1021,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1022,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1024,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1025,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1025,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1025,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1027,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1013
    functionDepth: 7
    functionLinenumber: 1013
    functionLinenumberEnd: 1036
    functionName: read_descriptor_80
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_esds
    - B32
    - make_box
    - as_slice
    - append_bytes
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_descriptor_80()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1076,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1077,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1077,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1078,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1080,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1081,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1081,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1081,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1083,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1066
    functionDepth: 7
    functionLinenumber: 1066
    functionLinenumberEnd: 1092
    functionName: read_esds_aac_type5
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_esds
    - B32
    - make_box
    - as_slice
    - append_bytes
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_esds_aac_type5()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1105,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1106,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1106,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1107,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1109,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1110,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1110,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1110,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1112,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1095
    functionDepth: 7
    functionLinenumber: 1095
    functionLinenumberEnd: 1121
    functionName: read_esds_mpeg2_aac_lc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_esds
    - B32
    - make_box
    - as_slice
    - append_bytes
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_esds_mpeg2_aac_lc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1144,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1144,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1144,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1145,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1146,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1146,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1146,1
    - Dst: super::read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1149,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1124
    functionDepth: 11
    functionLinenumber: 1124
    functionLinenumberEnd: 1165
    functionName: read_stsd_mp4v
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_video_sample_entry
    - make_box
    - as_slice
    - append_bytes
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_stsd_mp4v()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1175,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1176,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1176,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1177,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1179,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1180,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1180,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1180,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1182,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1168
    functionDepth: 7
    functionLinenumber: 1168
    functionLinenumberEnd: 1189
    functionName: read_esds_one_byte_extension_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_esds
    - B32
    - make_box
    - as_slice
    - append_bytes
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_esds_one_byte_extension_descriptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1193,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1194,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1194,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1194,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1194,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1199,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1200,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1200,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1200,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1192
    functionDepth: 8
    functionLinenumber: 1192
    functionLinenumberEnd: 1206
    functionName: read_esds_byte_extension_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_esds
    - make_box
    - B16
    - B32
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_esds_byte_extension_descriptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1210,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1211,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1211,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1211,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1211,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1211,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1211,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1211,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1211,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1221,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1222,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1222,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1222,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1223,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1209
    functionDepth: 9
    functionLinenumber: 1209
    functionLinenumberEnd: 1231
    functionName: read_f4v_stsd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - make_box
    - B16
    - B32
    - Result::unwrap
    - Result::expect
    - super::read_audio_sample_entry
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_f4v_stsd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1235,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1235,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1235,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1236,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1237,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1237,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1237,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1237,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1237,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1237,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1237,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1237,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1237,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1245,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1247,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1248,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1248,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1248,1
    - Dst: super::read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1234
    functionDepth: 11
    functionLinenumber: 1234
    functionLinenumberEnd: 1253
    functionName: unknown_video_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_video_sample_entry
    - Cursor::into_inner
    - make_box
    - as_slice
    - B16
    - append_bytes
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn unknown_video_sample_entry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1257,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1257,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1257,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1258,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1259,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1259,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1259,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1259,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1259,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1259,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1259,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1259,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1259,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1259,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1268,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1270,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1271,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1271,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1271,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1256
    functionDepth: 7
    functionLinenumber: 1256
    functionLinenumberEnd: 1276
    functionName: unknown_audio_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - append_repeated
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - Cursor::into_inner
    - make_box
    - append_bytes
    - as_slice
    - B16
    - B32
    - Result::unwrap
    - super::read_audio_sample_entry
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn unknown_audio_sample_entry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1287,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1288,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1288,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1289,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1291,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1292,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1292,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1292,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1279
    functionDepth: 7
    functionLinenumber: 1279
    functionLinenumberEnd: 1298
    functionName: read_esds_invalid_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_esds
    - B32
    - make_box
    - as_slice
    - append_bytes
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_esds_invalid_descriptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1307,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1308,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1308,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1309,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1311,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1312,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1312,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1312,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1301
    functionDepth: 7
    functionLinenumber: 1301
    functionLinenumberEnd: 1318
    functionName: read_esds_redundant_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_esds
    - B32
    - make_box
    - as_slice
    - append_bytes
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_esds_redundant_descriptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1331,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1332,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1332,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1333,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1335,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1336,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1336,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1336,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1321
    functionDepth: 7
    functionLinenumber: 1321
    functionLinenumberEnd: 1342
    functionName: read_esds_multiple_descriptors
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - super::read_esds
    - B32
    - make_box
    - as_slice
    - append_bytes
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_esds_multiple_descriptors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1357,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1357,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1357,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1358,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1359,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1359,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1359,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1362,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1345
    functionDepth: 7
    functionLinenumber: 1345
    functionLinenumberEnd: 1377
    functionName: read_stsd_lpcm
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - SampleToChunkIterator::next_box
    - make_box
    - as_slice
    - append_bytes
    - Result::unwrap
    - super::read_audio_sample_entry
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_stsd_lpcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::take'
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1381,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1382,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1385
    functionName: read_to_end_
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - read_into_try_vec
    - '&str::take'
    linkageType: ''
    returnType: void
    signature: fn read_to_end_()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::take'
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1389,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1389,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1391
    functionName: read_to_end_oom
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - try_into
    - expect
    - '&str::take'
    linkageType: ''
    returnType: void
    signature: fn read_to_end_oom()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bench_function
      Src: /src/mp4parse-rust/mp4parse/benches/avif_benchmark.rs:9,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/benches/avif_benchmark.rs:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 10
      start: 8
    functionDepth: 8
    functionLinenumber: 8
    functionLinenumberEnd: 10
    functionName: criterion_benchmark
    functionSourceFile: /src/mp4parse-rust/mp4parse/benches/avif_benchmark.rs
    functionUses: 0
    functionsReached:
    - iter
    - bench_function
    linkageType: ''
    returnType: void
    signature: 'fn criterion_benchmark(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/benches/avif_benchmark.rs:16,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/benches/avif_benchmark.rs:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: avif_largest
    functionSourceFile: /src/mp4parse-rust/mp4parse/benches/avif_benchmark.rs
    functionUses: 0
    functionsReached:
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn avif_largest()
Fuzzer filename: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs
Fuzzing method: fuzz_target
report: name
sources:
- function_names:
  - buf_read
  - test_xhe_aac_codec_detection
  - test_xhe_aac_vs_regular_aac
  - test_xhe_aac_codec_not_unknown
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs
- function_names:
  - buf_read
  - test_afconvert_aac_duration
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs
- function_names:
  - buf_read
  - open_parser
  - video_colr_nclx_hdr10
  - video_colr_nclx_hdr10_full_range
  - video_colr_nclx_hlg
  - video_colr_nclx_hlg_full_range
  - video_colr_nclx_rgb_identity_matrix
  - video_no_colr_box
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
- function_names:
  - buf_read
  - parse_rotation
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs
- function_names:
  - buf_read
  - parse_fragment
  - parse_opus_fragment
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs
- function_names:
  - buf_read
  - parse_out_of_chunk_range
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs
- function_names:
  - buf_read
  - parse_invalid_stsc_table
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs
- function_names:
  - buf_read
  - parse_sample_table
  - repeated_get_indice_table_returns_stable_pointer
  - parse_sample_table_with_elst
  - parse_sample_table_with_negative_ctts
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
- function_names:
  - buf_read
  - parse_cenc
  - repeated_get_pssh_info_returns_stable_pointer
  - parse_cbcs
  - parse_unencrypted
  - parse_encrypted_av1
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
- function_names:
  - buf_read
  - default_avif_info
  - default_avif_image
  - parse_file
  - parse_file_and_get_info
  - assert_slice_pointer_is_readable
  - check_loop_count
  - check_timescale
  - loop_once
  - loop_twice
  - loop_four_times_due_to_ceiling
  - loop_forever
  - no_edts
  - check_timescales
  - repeated_get_info_returns_stable_pointers
  - repeated_get_image_returns_stable_pointers
  - repeated_get_indice_table_returns_stable_pointer
  - empty_avif_byte_slices_use_null_pointers
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
- function_names:
  - Mp4parseByteData::with_data
  - Mp4parseByteData::default
  - Mp4parseByteData::set_data
  - Mp4parseByteData::set_indices
  - Mp4parseTrackAudioInfo::default
  - Mp4parseTrackVideoInfo::default
  - Mp4parseParser::context
  - Mp4parseParser::context_mut
  - Mp4parseParser::with_context
  - Mp4parseParser::read
  - TryHashMap::insert_cache_entry
  - Mp4parseAvifParser::context
  - Mp4parseAvifParser::with_context
  - Mp4parseAvifParser::read
  - Mp4parseIo::read
  - mp4parse_new
  - mp4parse_avif_new
  - mp4parse_new_common
  - mp4parse_new_common_safe
  - mp4parse_free
  - mp4parse_avif_free
  - mp4parse_get_track_count
  - mp4parse_get_track_info
  - mp4parse_get_track_audio_info
  - get_track_audio_info
  - mp4parse_get_track_video_info
  - mp4parse_get_track_video_info_safe
  - mp4parse_avif_get_info
  - m::p::4::p::a::r::s::e::_::a::v::i::f::_::g::e::t::_::i::n::f::o::_::s::a::f::e::get_bit_depth
  - mp4parse_avif_get_info_safe
  - mp4parse_avif_get_image
  - mp4parse_avif_get_image_safe
  - mp4parse_get_indice_table
  - mp4parse_avif_get_indice_table
  - get_indice_table
  - mp4parse_get_fragment_info
  - mp4parse_is_fragmented
  - mp4parse_get_pssh_info
  - get_pssh_info
  - error_read
  - valid_read
  - get_track_count_null_parser
  - arg_validation
  - parser_input_must_be_null
  - arg_validation_with_parser
  - parse_minimal_mp4
  - minimal_mp4_parse_ok
  - minimal_mp4_get_track_cout
  - minimal_mp4_get_track_info
  - minimal_mp4_get_track_video_info
  - minimal_mp4_get_track_audio_info
  - minimal_mp4_get_track_info_invalid_track_number
  - repeated_get_track_audio_info_returns_stable_pointer
  - multi_opus_description_codec_specific_pointers_are_valid
  - repeated_get_track_video_info_returns_stable_pointer
  - parse_no_timescale
  source_file: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
- function_names:
  - vec_read
  - fuzz_target
  source_file: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs
- function_names:
  - vec_read
  - fuzz_target
  source_file: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs
- function_names:
  - buf_read
  - dump_avif
  - dump_file
  - main
  source_file: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
- function_names:
  - overflow_protection
  source_file: /src/mp4parse-rust/mp4parse/tests/overflow.rs
- function_names:
  - public_api
  - public_metadata
  - public_metadata_gnre
  - public_invalid_metadata
  - public_audio_tenc
  - public_video_cenc
  - public_audio_cbcs
  - public_video_cbcs
  - public_video_av1
  - public_mp4_bug_1185230
  - public_mp4_ctts_overflow
  - public_avif_primary_item
  - public_avif_primary_item_split_extents
  - public_avif_alpha_item
  - public_avif_alpha_non_premultiplied
  - public_avif_alpha_premultiplied
  - public_avif_unknown_mdat
  - public_avif_unknown_mdat_in_oversized_meta
  - public_avif_bug_1655846
  - public_avif_bug_1661347
  - for_strictness_result
  - assert_avif_should
  - assert_avif_shall
  - public_avif_av1c_missing_essential
  - public_avif_clap_missing_essential
  - public_avif_imir_missing_essential
  - public_avif_irot_missing_essential
  - public_avif_ipma_bad_version
  - public_avif_ipma_bad_flags
  - public_avif_ipma_duplicate_version_and_flags
  - public_avif_ipma_duplicate_item_id
  - public_avif_ipma_invalid_property_index
  - public_avif_hdlr_first_in_meta
  - public_avif_hdlr_is_pict
  - public_avif_hdlr_nonzero_reserved
  - public_avif_hdlr_multiple_nul
  - public_avif_no_mif1
  - public_avif_no_pitm
  - public_avif_pixi_present_for_displayable_images
  - public_avif_av1c_present_for_av01
  - public_avif_ispe_present
  - public_avif_transform_before_ispe
  - public_avif_transform_order
  - assert_unsupported_nonfatal
  - assert_unsupported
  - assert_unsupported_nonessential
  - assert_unsupported_essential
  - public_avif_a1lx
  - public_avif_a1lx_marked_essential
  - public_avif_a1op
  - public_avif_a1op_missing_essential
  - public_avif_lsel
  - public_avif_lsel_missing_essential
  - public_avif_clap
  - public_avif_grid
  - public_avis_major_no_pitm
  - public_avis_major_with_pitm_and_alpha
  - public_avif_avis_major_no_moov
  - public_avif_avis_with_no_pitm_no_iloc
  - public_avif_avis_with_pitm_no_iloc
  - public_avif_valid_with_garbage_overread_at_end
  - public_avif_valid_with_garbage_byte_at_end
  - public_avif_bad_video_sample_entry
  - public_avis_loop_impl
  - public_avif_avis_no_loop
  - public_avif_avis_loop_forever
  - public_avif_read_samples
  - public_avif_read_samples_strict
  - to_canonical_paths
  - public_avif_read_samples_impl
  - public_video_h263
  - public_video_hevc
  - public_parse_pasp_h264
  - public_audio_amrnb
  - public_audio_amrwb
  - public_video_mp4v
  - public_audio_xhe_aac
  source_file: /src/mp4parse-rust/mp4parse/tests/public.rs
- function_names:
  - CheckedInteger::from
  - i64::from
  - CheckedInteger::add
  - CheckedInteger::sub
  - CheckedInteger::sub
  - u64_subtraction_returning_i64
  - CheckedInteger::eq
  - create_sample_table
  - TimeOffsetIterator::next
  - TimeOffsetIterator::next_offset_time
  - TimeToSampleIterator::next
  - TimeToSampleIterator::next_delta
  - sample_to_chunk_iter
  - SampleToChunkIterator::next
  - SampleToChunkIterator::locate
  - rational_scale
  - media_time_to_us
  - track_time_to_us
  - rational_scale_overflow
  - media_time_overflow
  - track_time_overflow
  source_file: /src/mp4parse-rust/mp4parse/src/unstable.rs
- function_names:
  - check_parser_state
  source_file: /src/mp4parse-rust/mp4parse/src/macros.rs
- function_names:
  - usize::to_u64
  - impl_to_usize_from
  - OffsetReader::new
  - OffsetReader::offset
  - OffsetReader::read
  - Feature::supported
  - Feature::try_from
  - UnsupportedFeatures::new
  - UnsupportedFeatures::into_bitfield
  - UnsupportedFeatures::feature_to_bitfield
  - UnsupportedFeatures::insert
  - UnsupportedFeatures::contains
  - UnsupportedFeatures::is_empty
  - Result::from
  - Error::from
  - '&str::from'
  - Status::from
  - Status::from
  - Status::from
  - Status::from
  - Status::from
  - Error::fmt
  - Error::from
  - Error::from
  - Error::from
  - Error::from
  - Error::from
  - std::io::Error::from
  - Error::from
  - FileTypeBox::contains
  - TrackReferenceBox::has_auxl_reference
  - AV1ConfigBox::config_obus
  - IsobmffItem::fmt
  - AvifItem::with_inline_data
  - AvifContext::primary_item_is_present
  - AvifContext::primary_item_coded_data
  - AvifContext::primary_item_bits_per_channel
  - AvifContext::alpha_item_is_present
  - AvifContext::alpha_item_coded_data
  - AvifContext::alpha_item_bits_per_channel
  - AvifContext::image_bits_per_channel
  - AvifContext::spatial_extents_ptr
  - AvifContext::nclx_colour_information_ptr
  - AvifContext::icc_colour_information
  - AvifContext::image_rotation
  - AvifContext::image_mirror_ptr
  - AvifContext::pixel_aspect_ratio_ptr
  - AvifContext::item_as_slice
  - DataBox::fmt
  - u64_to_usize_logged
  - DataBox::from_mdat
  - DataBox::from_idat
  - DataBox::data
  - DataBox::start
  - DataBox::location
  - DataBox::get
  - ItemId::read
  - IlocFieldSize::as_bits
  - IlocFieldSize::try_from
  - IlocVersion::try_from
  - fail_with_status_if
  - TrackScaledTime::add
  - Track::new
  - BoxIter::new
  - BoxIter::next_box
  - BMFFBox::read
  - BMFFBox::try_read_to_end
  - BMFFBox::offset
  - BMFFBox::bytes_left
  - BMFFBox::get_header
  - BMFFBox::box_iter
  - BMFFBox::drop
  - read_box_header
  - read_fullbox_extra
  - read_fullbox_version_no_flags
  - skip_box_content
  - skip_box_remain
  - AvifImageType::has_primary
  - AvifImageType::has_sequence
  - read_avif
  - read_avif_meta
  - read_pitm
  - read_iinf
  - U32BE::fmt
  - read_infe
  - read_iref
  - read_iprp
  - BoxType::from
  - ItemPropertiesBox::is_alpha
  - ItemPropertiesBox::get
  - ItemPropertiesBox::get_multiple
  - impl_bounded
  - impl_bounded_product
  - impl_mul
  - U32MulU8::add
  - calculate_ipma_total_associations
  - read_ipma
  - read_ipco
  - read_ispe
  - read_pasp
  - read_mdcv
  - read_clli
  - read_pixi
  - IccColourInformation::fmt
  - ColourInformation::colour_type
  - read_colr
  - read_irot
  - read_imir
  - read_auxc
  - read_iloc
  - read_mp4
  - parse_mvhd
  - read_moov
  - read_pssh
  - read_mvex
  - read_mehd
  - read_trak
  - read_edts
  - parse_mdhd
  - read_mdia
  - read_tref
  - read_tref_auxl
  - read_minf
  - read_stbl
  - read_ftyp
  - read_mvhd
  - read_tkhd
  - read_elst
  - read_mdhd
  - read_stco
  - read_co64
  - read_stss
  - read_stsc
  - read_ctts
  - read_stsz
  - read_stts
  - read_vpcc
  - read_av1c
  - read_flac_metadata
  - find_descriptor
  - get_audio_object_type
  - read_ds_descriptor
  - read_surround_channel_count
  - read_dc_descriptor
  - read_es_descriptor
  - read_esds
  - read_dfla
  - read_dops
  - serialize_opus_header
  - read_alac
  - read_hdlr
  - read_video_sample_entry
  - read_qt_wave_atom
  - read_audio_sample_entry
  - read_stsd
  - read_sinf
  - read_schi
  - read_tenc
  - read_schm
  - read_udta
  - read_meta
  - read_xml_
  - read_bxml
  - read_ilst
  - read_ilst_bool_data
  - read_ilst_string_data
  - read_ilst_u8_data
  - read_ilst_multiple_u8_data
  - read_ilst_data
  - skip
  - read_buf
  - be_i16
  - be_i32
  - be_i64
  - be_u16
  - be_u24
  - be_u32
  - be_u64
  - write_be_u32
  - media_data_box_tests::extent_with_length_before_mdat_returns_none
  - media_data_box_tests::extent_to_end_before_mdat_returns_none
  - media_data_box_tests::extent_with_length_crossing_front_mdat_boundary_returns_none
  - media_data_box_tests::extent_with_length_which_is_subset_of_mdat
  - media_data_box_tests::extent_to_end_which_is_subset_of_mdat
  - media_data_box_tests::extent_with_length_which_is_all_of_mdat
  - media_data_box_tests::extent_to_end_which_is_all_of_mdat
  - media_data_box_tests::extent_with_length_crossing_back_mdat_boundary_returns_none
  - media_data_box_tests::extent_with_length_after_mdat_returns_none
  - media_data_box_tests::extent_to_end_after_mdat_returns_none
  - media_data_box_tests::extent_with_length_which_overflows_usize
  - media_data_box_tests::extent_to_end_which_overflows_usize
  source_file: /src/mp4parse-rust/mp4parse/src/lib.rs
- function_names:
  - box_database
  - BoxType::fmt
  - FourCC::from
  - FourCC::from
  - FourCC::from
  - FourCC::fmt
  - FourCC::fmt
  - FourCC::eq
  source_file: /src/mp4parse-rust/mp4parse/src/boxes.rs
- function_names:
  - make_box
  - make_uuid_box
  - make_fullbox
  - read_box_header_short
  - read_box_header_long
  - read_box_header_short_unknown_size
  - read_box_header_short_invalid_size
  - read_box_header_long_invalid_size
  - read_box_header_uuid
  - read_box_header_truncated_uuid
  - read_box_header_uuid_past_eof
  - read_ftyp
  - read_truncated_ftyp
  - read_ftyp_case
  - read_elst_v0
  - read_elst_v1
  - read_mdhd_v0
  - read_mdhd_v1
  - read_mdhd_unknown_duration
  - read_mdhd_invalid_timescale
  - read_mvhd_v0
  - read_mvhd_v1
  - read_mvhd_invalid_timescale
  - read_mvhd_unknown_duration
  - read_mvhd_v0_trailing_data
  - read_vpcc_version_0
  - read_vpcc_version_1
  - read_hdlr
  - read_hdlr_multiple_nul_in_name
  - read_hdlr_short_name
  - read_hdlr_unsupported_version
  - read_hdlr_invalid_pre_defined_field
  - read_hdlr_invalid_reserved_field
  - read_hdlr_zero_length_name
  - read_hdlr_zero_length_name_permissive
  - flac_streaminfo
  - read_flac
  - make_dfla
  - read_dfla
  - long_flac_metadata
  - read_opus
  - make_dops
  - read_dops
  - serialize_opus_header
  - read_alac
  - esds_limit
  - read_elst_zero_entries
  - make_elst
  - read_edts_bogus
  - skip_padding_in_boxes
  - skip_padding_in_stsd
  - read_qt_wave_atom
  - read_descriptor_80
  - read_esds
  - read_esds_aac_type5
  - read_esds_mpeg2_aac_lc
  - read_stsd_mp4v
  - read_esds_one_byte_extension_descriptor
  - read_esds_byte_extension_descriptor
  - read_f4v_stsd
  - unknown_video_sample_entry
  - unknown_audio_sample_entry
  - read_esds_invalid_descriptor
  - read_esds_redundant_descriptor
  - read_esds_multiple_descriptors
  - read_stsd_lpcm
  - read_to_end_
  - read_to_end_oom
  - read_mdcv
  - read_clli
  source_file: /src/mp4parse-rust/mp4parse/src/tests.rs
- function_names:
  - criterion_benchmark
  - avif_largest
  source_file: /src/mp4parse-rust/mp4parse/benches/avif_benchmark.rs
